def test_parse_october_2001_schedule(self):
        parsed_schedule = schedule.parse_schedule(self.october_2001_html)
        first_game = parsed_schedule[0]
        expected_datetime = pytz.timezone("US/Eastern") \
            .localize(datetime(year=2000, month=10, day=31, hour=19, minute=30)) \
            .astimezone(pytz.utc)

        self.assertEqual(len(parsed_schedule), 13)
        self.assertTrue(
            abs(first_game["start_time"] -
                expected_datetime) < timedelta(seconds=1))
        self.assertEqual(first_game["away_team"], Team.CHARLOTTE_HORNETS)
        self.assertEqual(first_game["home_team"], Team.ATLANTA_HAWKS)
        self.assertEqual(first_game["away_team_score"], 106)
        self.assertEqual(first_game["home_team_score"], 82)
    def test_parse_future_game(self):
        parsed_schedule = schedule.parse_schedule(self.april_2019_html)
        first_game = parsed_schedule[0]
        expected_first_game_start_time = pytz.timezone("US/Eastern") \
            .localize(datetime(year=2019, month=4, day=1, hour=19, minute=30)) \
            .astimezone(pytz.utc)

        self.assertIsNotNone(parsed_schedule)
        self.assertEqual(len(parsed_schedule), 79)
        self.assertEqual(first_game["start_time"],
                         expected_first_game_start_time)
        self.assertEqual(first_game["away_team"], Team.MIAMI_HEAT)
        self.assertEqual(first_game["home_team"], Team.BOSTON_CELTICS)
        self.assertIsNone(first_game["away_team_score"])
        self.assertIsNone(first_game["home_team_score"])
Exemplo n.º 3
0
def season_schedule(season_end_year):
    url = '{BASE_URL}/leagues/NBA_{season_end_year}_games.html'.format(
        BASE_URL=BASE_URL, season_end_year=season_end_year)

    response = requests.get(url=url)

    response.raise_for_status()

    season_schedule_values = parse_schedule(response.content)
    other_month_url_paths = parse_schedule_for_month_url_paths(
        response.content)

    for month_url_path in other_month_url_paths:
        url = '{BASE_URL}{month_url_path}'.format(
            BASE_URL=BASE_URL, month_url_path=month_url_path)
        monthly_schedule = schedule_for_month(url=url)
        season_schedule_values.extend(monthly_schedule)

    return season_schedule_values
Exemplo n.º 4
0
def schedule_for_month(url):
    response = requests.get(url=url)

    response.raise_for_status()

    return parse_schedule(response.content)
 def test_parse_october_2018_schedule(self):
     parsed_schedule = schedule.parse_schedule(self.october_2018_html)
     self.assertEqual(len(parsed_schedule), 104)