Пример #1
0
def ripen_all_players():
	'''
	Populate db table 'all_players' in nhl.db with tombstone details by going
	to individual player pages using already stored playerids
	Table MUST have been seeded using grow_all_players previously
	Top level function
	'''

	# Tracking time it takes function to run/num of players grabbed
	start_time = time.time()
	num_players = 0
	player_counter = 0

	conn = sqlite3.connect ('nhl.db')
	c = conn.cursor ()

	c.execute('SELECT * FROM all_players')

	rows = c.fetchall()

	# Grabing player ids from all players ever
	checked_players = []
	num_rows = len(rows)
	max_index = len (rows) - 1

	 # (380 pages/18196 rows as of 05/01/15)	
	while len (checked_players) < num_rows:
		index_num = random.randint(0, max_index)
		while index_num in checked_players:
			if index_num == max_index:
				index_num = random.randint(0, max_index)
			else:
				index_num += 1
		checked_players.append (index_num)
		print (str(len(checked_players)) + "/" + str(num_rows)).ljust(15),
		
		player_counter += 1				
		playerid = rows[index_num][0]
		position_table = rows[index_num][3]
		print ('RIPENED ' + str(playerid)).ljust(30)
		assert position_table in ['G', 'D', 'LW', 'C', 'RW'],\
			'ERROR: position_table invalid (=%s)'%(position_table)
		player = PlayerPage.harvest(playerid, position_table)
		ripen_player(c, player)
		num_players += 1
		conn.commit ()
	
	conn.close()

	total_time = time.time() - start_time
	print "%0.2fs - total time taken" %total_time
	print str(num_players), " - records imported"
	print str(total_time/num_players) + 'secs/player'
Пример #2
0
			'ERROR: position_table invalid (=%s)'%(position_table)
		player = PlayerPage.harvest(playerid, position_table)
		ripen_player(c, player)
		num_players += 1
		conn.commit ()
	
	conn.close()

	total_time = time.time() - start_time
	print "%0.2fs - total time taken" %total_time
	print str(num_players), " - records imported"
	print str(total_time/num_players) + 'secs/player'


if __name__ == '__main__':
	germinate_all_players_table()
	germinate_seasons_table()
	grow_all_players()

	player = PlayerPage.harvest(8449783, 'G')
	
	conn = sqlite3.connect ('nhl.db')
	c = conn.cursor ()
	c.execute('SELECT * FROM all_players WHERE playerid = ?',(8449783,))

	row = c.fetchone()
	playerid = row[0]
	position = row[3]
	player = PlayerPage.harvest(playerid, position)
	ripen_player (c, player)