def check_new_round(self, hours=24, tournament=1): """Check if a new round has started within the last `hours`. Args: hours (int, optional): timeframe to consider, defaults to 24 tournament (int): ID of the tournament (optional, defaults to 1) Returns: bool: True if a new round has started, False otherwise. Example: >>> NumerAPI().check_new_round() False """ query = ''' query($tournament: Int!) { rounds(tournament: $tournament number: 0) { number openTime } } ''' arguments = {'tournament': tournament} raw = self.raw_query(query, arguments)['data']['rounds'][0] if raw is None: return False open_time = utils.parse_datetime_string(raw['openTime']) now = datetime.datetime.utcnow().replace(tzinfo=pytz.utc) is_new_round = open_time > now - datetime.timedelta(hours=hours) return is_new_round
def check_new_round(self, hours=24): """ checks wether a new round has started within the last `hours` hours: timeframe to consider """ query = ''' query { rounds(number: 0) { number openTime } } ''' raw = self.raw_query(query) open_time = raw['data']['rounds'][0]['openTime'] open_time = utils.parse_datetime_string(open_time) now = datetime.datetime.utcnow().replace(tzinfo=pytz.utc) is_new_round = open_time > now - datetime.timedelta(hours=hours) return is_new_round
def test_parse_datetime_string(): s = "2017-12-24T20:48:25.90349Z" t = datetime.datetime(2017, 12, 24, 20, 48, 25, 903490, tzinfo=tzutc()) assert utils.parse_datetime_string(s) == t assert utils.parse_datetime_string(None) is None