Beispiel #1
0
def process_rows(rows):
	for tr in rows:
		td = tr('td', recursive=False)
		if len(tr('td')) == 1:
			# spacer row - switching players
			continue
		if td[0].get('colspan') == '2':
			# details for opponent
			opponent_number = util.get_integer(td[1].text)
			offense = get_faceoff_data(td[2].text)
			defense = get_faceoff_data(td[3].text)
			neutral = get_faceoff_data(td[4].text)
			print opponent_number, offense, defense, neutral
		else:
			# new player
			print td[0].text, td[2].text
Beispiel #2
0
def set_stars(self, soup):
	star_table = soup.table.table
	
	stars = []
	for tr in star_table('tr'):
		(rank, team, position, player) = [td.text for td in tr('td')]
		# sometimes no stars given, which causes blank team
		if len(team) == 0: break
		
		s = Star()
		# rank can be inferred by order in list
		s.rank = int(rank[0])
		s.team = team
		s.position = position
		s.player = util.get_integer(player)
		stars.append(s)
		
	self.stars = stars
	
Beispiel #3
0
def get_team_penalties_from_table(table):
	penalties = []
	
	for tr in table('tr', recursive=False)[1:]:
		(number, period, time, player, minutes, penalty_type) = \
			[util.clean_nbsp(td.text).strip() for td in tr('td', recursive=False)]
		
		p = Penalty()
		
		p.period = util.get_numeric_period(period)
		p.time = time
		
		try: p.player = util.get_integer(player)
		# Can have whole-team penalties with no player
		except ValueError: p.player = None
		
		p.minutes = int(minutes)
		p.penalty_type = penalty_type
		
		penalties.append(p)
		
	return penalties
Beispiel #4
0
def get_officials_from_table(table):
    return [util.get_integer(tr.text) for tr in table("tr")]