def test_match_updated(self):
        affected_refs = {
            'key':
            {ndb.Key(Match, '2015casj_qm1'),
             ndb.Key(Match, '2015casj_qm2')},
            'event': {ndb.Key(Event, '2015casj'),
                      ndb.Key(Event, '2015cama')},
            'team_keys': {ndb.Key(Team, 'frc254'),
                          ndb.Key(Team, 'frc604')},
            'year': {2014, 2015},
        }
        cache_keys = [
            q.cache_key
            for q in get_affected_queries.match_updated(affected_refs)
        ]

        self.assertEqual(len(cache_keys), 16)
        self.assertTrue(MatchQuery('2015casj_qm1').cache_key in cache_keys)
        self.assertTrue(MatchQuery('2015casj_qm2').cache_key in cache_keys)
        self.assertTrue(
            MatchGdcvDataQuery('2015casj_qm1').cache_key in cache_keys)
        self.assertTrue(
            MatchGdcvDataQuery('2015casj_qm2').cache_key in cache_keys)
        self.assertTrue(EventMatchesQuery('2015casj').cache_key in cache_keys)
        self.assertTrue(EventMatchesQuery('2015cama').cache_key in cache_keys)
        self.assertTrue(
            EventMatchesGdcvDataQuery('2015casj').cache_key in cache_keys)
        self.assertTrue(
            EventMatchesGdcvDataQuery('2015cama').cache_key in cache_keys)
        self.assertTrue(
            TeamEventMatchesQuery('frc254', '2015casj').cache_key in
            cache_keys)
        self.assertTrue(
            TeamEventMatchesQuery('frc254', '2015cama').cache_key in
            cache_keys)
        self.assertTrue(
            TeamEventMatchesQuery('frc604', '2015casj').cache_key in
            cache_keys)
        self.assertTrue(
            TeamEventMatchesQuery('frc604', '2015cama').cache_key in
            cache_keys)
        self.assertTrue(
            TeamYearMatchesQuery('frc254', 2014).cache_key in cache_keys)
        self.assertTrue(
            TeamYearMatchesQuery('frc254', 2015).cache_key in cache_keys)
        self.assertTrue(
            TeamYearMatchesQuery('frc604', 2014).cache_key in cache_keys)
        self.assertTrue(
            TeamYearMatchesQuery('frc604', 2015).cache_key in cache_keys)
    def _render(self, match_key, model_type=None):
        match, self._last_modified = MatchQuery(match_key).fetch(
            dict_version=3, return_updated=True)
        if model_type is not None:
            match = filter_match_properties([match], model_type)[0]

        return json.dumps(match, ensure_ascii=True, indent=2, sort_keys=True)
Пример #3
0
    def _render(self, match_key):
        match = MatchQuery(match_key).fetch()
        if not match:
            self.abort(404)
        if not match.has_been_played:
            # If FIRST hasn't published data yet, don't return anything
            return json.dumps([])

        match_key = match.key_name
        gdcv_data = MatchGdcvDataQuery(match_key).fetch()
        return json.dumps(gdcv_data, ensure_ascii=True, indent=2, sort_keys=True)
Пример #4
0
def match_updated(affected_refs):
    match_keys = _filter(affected_refs['key'])
    event_keys = _filter(affected_refs['event'])
    team_keys = _filter(affected_refs['team_keys'])
    years = _filter(affected_refs['year'])

    queries_and_keys = []
    for match_key in match_keys:
        queries_and_keys.append((MatchQuery(match_key.id())))

    for event_key in event_keys:
        queries_and_keys.append((EventMatchesQuery(event_key.id())))
        for team_key in team_keys:
            queries_and_keys.append((TeamEventMatchesQuery(team_key.id(), event_key.id())))

    for team_key in team_keys:
        for year in years:
            queries_and_keys.append((TeamYearMatchesQuery(team_key.id(), year)))

    return queries_and_keys