コード例 #1
0
    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)
コード例 #2
0
    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)
コード例 #3
0
    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)
コード例 #4
0
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
コード例 #5
0
    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)
コード例 #6
0
    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)
コード例 #7
0
    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)
コード例 #8
0
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