def _render(self, team_key): self._set_team(team_key) district_teams = TeamDistrictsQuery(self.team_key).fetch() team_dict = {int(year): district_key for year, district_key in district_teams.iteritems()} return json.dumps(team_dict, ensure_ascii=True)
def _render(self, team_key): self._set_team(team_key) district_teams = TeamDistrictsQuery(self.team_key).fetch() team_dict = {int(year): district_key for year, district_key in district_teams.iteritems()} return json.dumps(team_dict, ensure_ascii=True)
def test_districtteam_updated(self): affected_refs = { 'district_key': {ndb.Key(District, '2015fim'), ndb.Key(District, '2015mar')}, 'team': {ndb.Key(Team, 'frc254'), ndb.Key(Team, 'frc604')} } cache_keys = [q.cache_key for q in get_affected_queries.districtteam_updated(affected_refs)] self.assertEqual(len(cache_keys), 4) self.assertTrue(DistrictTeamsQuery('2015fim').cache_key in cache_keys) self.assertTrue(DistrictTeamsQuery('2015mar').cache_key in cache_keys) self.assertTrue(TeamDistrictsQuery('frc254').cache_key in cache_keys) self.assertTrue(TeamDistrictsQuery('frc604').cache_key in cache_keys)
def district_updated(affected_refs): years = _filter(affected_refs['year']) district_abbrevs = _filter(affected_refs['abbreviation']) district_keys = _filter(affected_refs['key']) district_team_keys_future = DistrictTeam.query(DistrictTeam.district_key.IN(list(district_keys))).fetch_async(None, keys_only=True) district_event_keys_future = Event.query(Event.district_key.IN(list(district_keys))).fetch_async(keys_only=True) queries_and_keys = [] for year in years: queries_and_keys.append(DistrictsInYearQuery(year)) for abbrev in district_abbrevs: queries_and_keys.append(DistrictHistoryQuery(abbrev)) for key in district_keys: queries_and_keys.append(DistrictQuery(key.id())) for dt_key in district_team_keys_future.get_result(): team_key = dt_key.id().split('_')[1] queries_and_keys.append(TeamDistrictsQuery(team_key)) # Necessary because APIv3 Event models include the District model affected_event_refs = { 'key': set(), 'year': set(), 'district_key': district_keys, } for event_key in district_event_keys_future.get_result(): affected_event_refs['key'].add(event_key) affected_event_refs['year'].add(int(event_key.id()[:4])) queries_and_keys += event_updated(affected_event_refs) return queries_and_keys
def test_district_updated(self): affected_refs = { 'key': {ndb.Key(District, '2016ne')}, 'year': {2015, 2016}, 'abbreviation': {'ne', 'chs'} } cache_keys = [ q.cache_key for q in get_affected_queries.district_updated(affected_refs) ] self.assertEqual(len(cache_keys), 11) self.assertTrue(DistrictsInYearQuery(2015).cache_key in cache_keys) self.assertTrue(DistrictsInYearQuery(2016).cache_key in cache_keys) self.assertTrue(DistrictHistoryQuery('ne').cache_key in cache_keys) self.assertTrue(DistrictHistoryQuery('chs').cache_key in cache_keys) self.assertTrue(DistrictQuery('2016ne').cache_key in cache_keys) self.assertTrue(TeamDistrictsQuery('frc604').cache_key in cache_keys) # Necessary because APIv3 Event models include the District model self.assertTrue(EventQuery('2016necmp').cache_key in cache_keys) self.assertTrue(EventListQuery(2016).cache_key in cache_keys) self.assertTrue(DistrictEventsQuery('2016ne').cache_key in cache_keys) self.assertTrue(TeamEventsQuery('frc125').cache_key in cache_keys) self.assertTrue( TeamYearEventsQuery('frc125', 2016).cache_key in cache_keys)
def _render(self, team_key): self._set_team(team_key) districts = TeamDistrictsQuery(self.team_key).fetch() ret = {district.year: district.key.id() for district in districts} return json.dumps(ret, ensure_ascii=True)
def _render(self, team_key): team_districts, self._last_modified = TeamDistrictsQuery( team_key).fetch(dict_version=3, return_updated=True) return json.dumps(team_districts, ensure_ascii=True, indent=2, sort_keys=True)
def districtteam_updated(affected_refs): district_keys = filter(None, affected_refs['district_key']) team_keys = filter(None, affected_refs['team']) queries_and_keys = [] for district_key in district_keys: queries_and_keys.append(DistrictTeamsQuery(district_key.id())) for team_key in team_keys: queries_and_keys.append(TeamDistrictsQuery(team_key.id())) return queries_and_keys