Example #1
0
    def _render(self, *args, **kw):
        special_webcasts_future = Sitevar.get_by_id_async('gameday.special_webcasts')
        special_webcasts_temp = special_webcasts_future.get_result()
        if special_webcasts_temp:
            special_webcasts_temp = special_webcasts_temp.contents.get("webcasts", [])
        else:
            special_webcasts_temp = []
        special_webcasts = []
        for webcast in special_webcasts_temp:
            toAppend = {}
            for key, value in webcast.items():
                toAppend[str(key)] = str(value)
            special_webcasts.append(toAppend)

        ongoing_events = []
        ongoing_events_w_webcasts = []
        week_events = EventHelper.getWeekEvents()
        for event in week_events:
            if event.now:
                ongoing_events.append(ModelToDict.eventConverter(event))
                if event.webcast:
                    ongoing_events_w_webcasts.append(ModelToDict.eventConverter(event))

        webcasts_json = {
            'special_webcasts': special_webcasts,
            'ongoing_events': ongoing_events,
            'ongoing_events_w_webcasts': ongoing_events_w_webcasts
        }

        self.template_values.update({
            'webcasts_json': json.dumps(webcasts_json)
        })

        path = os.path.join(os.path.dirname(__file__), '../templates/gameday2.html')
        return template.render(path, self.template_values)
Example #2
0
    def _render(self, team_key, year=None):
        self._set_cache_header_length(61)

        self.team = Team.get_by_id(self.team_key)
        if self.team is None:
            self._errors = json.dumps(
                {"404": "%s team not found" % self.team_key})
            self.abort(404)

        events_sorted, matches_by_event_key, awards_by_event_key, _ = TeamDetailsDataFetcher.fetch(
            self.team, self.year)
        team_dict = ModelToDict.teamConverter(self.team)

        team_dict["events"] = list()
        for event in events_sorted:
            event_dict = ModelToDict.eventConverter(event)
            event_dict["matches"] = [
                ModelToDict.matchConverter(match)
                for match in matches_by_event_key.get(event.key, [])
            ]
            event_dict["awards"] = [
                ModelToDict.awardConverter(award)
                for award in awards_by_event_key.get(event.key, [])
            ]
            team_dict["events"].append(event_dict)

        return json.dumps(team_dict, ensure_ascii=True)
Example #3
0
    def _render(self, team_key, year=None):
        self._set_team(team_key)

        media_keys = Media.query(Media.references == self.team.key, Media.year == self.year).fetch(500, keys_only=True)
        medias = ndb.get_multi(media_keys)
        media_list = [ModelToDict.mediaConverter(media) for media in medias]
        return json.dumps(media_list, ensure_ascii=True)
Example #4
0
    def _render(self, team_key, event_key):
        match_keys_future = Match.query(Match.event == ndb.Key(Event, self.event_key), Match.team_key_names == self.team_key).fetch_async(None, keys_only=True)
        match_futures = ndb.get_multi_async(match_keys_future.get_result())

        matches = [ModelToDict.matchConverter(match_future.get_result()) for match_future in match_futures]

        return json.dumps(matches, ensure_ascii=True)
Example #5
0
    def _render(self, team_key):
        self._set_team(team_key)

        robots = TeamRobotsQuery(self.team_key).fetch()

        robots_dict = {robot.year: ModelToDict.robotConverter(robot) for robot in robots}
        return json.dumps(robots_dict, ensure_ascii=True)
    def _render(self, event_key):
        self._set_event(event_key)

        matches = self.event.matches
        match_dicts = [ModelToDict.matchConverter(match) for match in matches]

        return json.dumps(match_dicts, ensure_ascii=True)
 def _build_dict(self):
     data = {}
     data['message_type'] = NotificationType.type_names[self._type]
     data['message_data'] = {}
     data['message_data']['event_name'] = self.event.name
     data['message_data']['match'] = ModelToDict.matchConverter(self.match)
     return data
Example #8
0
    def _render(self, team_key, event_key):
        award_keys_future = Award.query(Award.team_list == ndb.Key(Team, self.team_key), Award.event == ndb.Key(Event, event_key)).fetch_async(None, keys_only=True)
        awards = ndb.get_multi(award_keys_future.get_result())

        awards_dicts = [ModelToDict.awardConverter(award) for award in AwardHelper.organizeAwards(awards)]

        return json.dumps(awards_dicts, ensure_ascii=True)
    def _render(self, event_key):
        self._set_event(event_key)

        matches = self.event.matches
        match_dicts = [ModelToDict.matchConverter(match) for match in matches]

        return json.dumps(match_dicts, ensure_ascii=True)
Example #10
0
    def _render(self, team_key):
        self._set_team(team_key)

        awards = TeamAwardsQuery(self.team_key).fetch()

        awards_list = [ModelToDict.awardConverter(award) for award in awards]
        return json.dumps(awards_list, ensure_ascii=True)
    def _render(self, team_key):
        self._set_team(team_key)

        awards = TeamAwardsQuery(self.team_key).fetch()

        awards_list = [ModelToDict.awardConverter(award) for award in awards]
        return json.dumps(awards_list, ensure_ascii=True)
    def _render(self, team_key, year=None):
        self._set_team(team_key)

        media_keys = Media.query(Media.references == self.team.key, Media.year == self.year).fetch(500, keys_only=True)
        medias = ndb.get_multi(media_keys)
        media_list = [ModelToDict.mediaConverter(media) for media in medias]
        return json.dumps(media_list, ensure_ascii=True)
    def _render(self, event_key):
        self._set_event(event_key)

        teams = filter(None, self.event.teams)
        team_dicts = [ModelToDict.teamConverter(team) for team in teams]

        return json.dumps(team_dicts, ensure_ascii=True)
    def _render(self, team_key, year=None):
        self._set_team(team_key)

        medias = TeamYearMediaQuery(self.team_key, self.year).fetch()

        media_list = [ModelToDict.mediaConverter(media) for media in medias]
        return json.dumps(media_list, ensure_ascii=True)
    def _render(self, event_key):
        self._set_event(event_key)

        teams = filter(None, self.event.teams)
        team_dicts = [ModelToDict.teamConverter(team) for team in teams]

        return json.dumps(team_dicts, ensure_ascii=True)
    def _render(self, team_key):
        self._set_team(team_key)

        robots = TeamRobotsQuery(self.team_key).fetch()

        robots_dict = {robot.year: ModelToDict.robotConverter(robot) for robot in robots}
        return json.dumps(robots_dict, ensure_ascii=True)
Example #17
0
    def _render(self, team_key, year=None):
        self._set_team(team_key)

        medias = TeamYearMediaQuery(self.team_key, self.year).fetch()

        media_list = [ModelToDict.mediaConverter(media) for media in medias]
        return json.dumps(media_list, ensure_ascii=True)
Example #18
0
    def _render(self, team_key):
        self._set_team(team_key)

        events = TeamEventsQuery(self.team_key).fetch()

        event_list = [ModelToDict.eventConverter(event) for event in events]
        return json.dumps(event_list, ensure_ascii=True)
    def _render(self, event_key):
        self._set_cache_header_length(60 * 60)
        self._set_event(event_key)

        event_dict = ModelToDict.eventConverter(self.event)

        return json.dumps(event_dict, ensure_ascii=True)
    def _render(self, team_key, event_key):
        match_keys_future = Match.query(Match.event == ndb.Key(Event, self.event_key), Match.team_key_names == self.team_key).fetch_async(None, keys_only=True)
        match_futures = ndb.get_multi_async(match_keys_future.get_result())

        matches = [ModelToDict.matchConverter(match_future.get_result()) for match_future in match_futures]

        return json.dumps(matches, ensure_ascii=True)
    def _render(self, event_key):
        self._set_cache_header_length(60 * 60)
        self._set_event(event_key)

        event_dict = ModelToDict.eventConverter(self.event)

        return json.dumps(event_dict, ensure_ascii=True)
 def _build_dict(self):
     data = {}
     data['message_type'] = NotificationType.type_names[self._type]
     data['message_data'] = {}
     data['message_data']['event_name'] = self.match.event.get().name
     data['message_data']['match'] = ModelToDict.matchConverter(self.match)
     return data
    def _render(self, team_key, event_key):
        award_keys_future = Award.query(Award.team_list == ndb.Key(Team, self.team_key), Award.event == ndb.Key(Event, event_key)).fetch_async(None, keys_only=True)
        awards = ndb.get_multi(award_keys_future.get_result())

        awards_dicts = [ModelToDict.awardConverter(award) for award in AwardHelper.organizeAwards(awards)]

        return json.dumps(awards_dicts, ensure_ascii=True)
    def _render(self, team_key):
        self._set_team(team_key)

        events = TeamEventsQuery(self.team_key).fetch()

        event_list = [ModelToDict.eventConverter(event) for event in events]
        return json.dumps(event_list, ensure_ascii=True)
Example #25
0
 def data_payload(self):
     from helpers.award_helper import AwardHelper
     from helpers.model_to_dict import ModelToDict
     return {
         'awards': [ModelToDict.awardConverter(award) for award in AwardHelper.organizeAwards(self.event.awards)],
         'event_key': self.event.key_name
     }
 def _build_dict(self):
     data = {}
     data['notification_type'] = NotificationType.type_names[self._type]
     data['message_data'] = {}
     data['message_data']['event_name'] = self.event.name
     data['message_data']['event_key'] = self.event.key_name
     data['message_data']['event'] = ModelToDict.eventConverter(self.event)
     return data
    def _render(self, event_key):
        self._set_cache_header_length(60 * 60)
        self._set_event(event_key)

        teams = self.event.teams
        team_dicts = [ModelToDict.teamConverter(team) for team in teams]

        return json.dumps(team_dicts, ensure_ascii=True)
    def _render(self, team_key, year=None):
        self._set_team(team_key)

        events = TeamYearEventsQuery(self.team_key, self.year).fetch()

        events = [ModelToDict.eventConverter(event) for event in events]

        return json.dumps(events, ensure_ascii=True)
Example #29
0
    def _render(self, team_key, year=None):
        self._set_team(team_key)

        events = TeamYearEventsQuery(self.team_key, self.year).fetch()

        events = [ModelToDict.eventConverter(event) for event in events]

        return json.dumps(events, ensure_ascii=True)
    def _render(self, event_key):
        self._set_event(event_key)

        award_dicts = [
            ModelToDict.awardConverter(award)
            for award in AwardHelper.organizeAwards(self.event.awards)
        ]
        return json.dumps(award_dicts, ensure_ascii=True)
Example #31
0
 def _build_dict(self):
     data = {}
     data['notification_type'] = NotificationType.type_names[self._type]
     data['message_data'] = {}
     data['message_data']['event_name'] = self.event.name
     data['message_data']['event_key'] = self.event.key_name
     data['message_data']['awards'] = [ModelToDict.awardConverter(award) for award in AwardHelper.organizeAwards(self.event.awards)]
     return data
    def _render(self, district_abbrev, year=None):
        self._set_district(district_abbrev)

        events = DistrictEventsQuery("{}{}".format(self.year, self.district_abbrev)).fetch()

        events = [ModelToDict.eventConverter(event) for event in events]

        return json.dumps(events, ensure_ascii=True)
 def _build_dict(self):
     data = {}
     data['message_type'] = NotificationType.type_names[self._type]
     data['message_data'] = {}
     data['message_data']['event_name'] = self.event.name
     data['message_data']['event_key'] = self.event.key_name
     data['message_data']['event'] = ModelToDict.eventConverter(self.event)
     return data
    def _render(self, district_abbrev, year=None):
        self._set_district(district_abbrev)

        district_teams = DistrictTeamsQuery("{}{}".format(self.year, self.district_abbrev)).fetch()

        district_teams_dict = [ModelToDict.teamConverter(team) for team in district_teams]

        return json.dumps(district_teams_dict, ensure_ascii=True)
    def _render(self, event_key):
        self._set_cache_header_length(60 * 60)
        self._set_event(event_key)

        teams = self.event.teams
        team_dicts = [ModelToDict.teamConverter(team) for team in teams]

        return json.dumps(team_dicts, ensure_ascii=True)
Example #36
0
    def _render(self, district_abbrev, year=None):
        self._set_district(district_abbrev)

        events = DistrictEventsQuery('{}{}'.format(self.year, self.district_abbrev)).fetch()

        events = [ModelToDict.eventConverter(event) for event in events]

        return json.dumps(events, ensure_ascii=True)
Example #37
0
    def _render(self, district_abbrev, year=None):
        self._set_district(district_abbrev)

        district_teams = DistrictTeamsQuery('{}{}'.format(self.year, self.district_abbrev)).fetch()

        district_teams_dict = [ModelToDict.teamConverter(team) for team in district_teams]

        return json.dumps(district_teams_dict, ensure_ascii=True)
 def _build_dict(self):
     data = {}
     data['message_type'] = NotificationType.type_names[self._type]
     data['message_data'] = {}
     data['message_data']['event_name'] = self.event.name
     data['message_data']['event_key'] = self.event.key_name
     data['message_data']['awards'] = [ModelToDict.awardConverter(award) for award in AwardHelper.organizeAwards(self.event.awards)]
     return data
    def _render(self, page_num):
        page_num = int(page_num)
        start = self.PAGE_SIZE * page_num
        end = start + self.PAGE_SIZE

        team_keys = Team.query(Team.team_number >= start, Team.team_number < end).fetch(None, keys_only=True)
        team_futures = ndb.get_multi_async(team_keys)
        team_list = [ModelToDict.teamConverter(team_future.get_result()) for team_future in team_futures]
        return json.dumps(team_list, ensure_ascii=True)
Example #40
0
    def _render(self, page_num):
        page_num = int(page_num)
        start = self.PAGE_SIZE * page_num
        end = start + self.PAGE_SIZE

        team_keys = Team.query(Team.team_number >= start, Team.team_number < end).fetch(None, keys_only=True)
        team_futures = ndb.get_multi_async(team_keys)
        team_list = [ModelToDict.teamConverter(team_future.get_result()) for team_future in team_futures]
        return json.dumps(team_list, ensure_ascii=True)
Example #41
0
    def get(self, model_type):
        if not self.user_bundle.user:
            self.response.set_status(401)
            return

        favorites = Favorite.query(
            Favorite.model_type==int(model_type),
            ancestor=ndb.Key(Account, self.user_bundle.user.user_id())).fetch()
        self.response.out.write(json.dumps([ModelToDict.favoriteConverter(fav) for fav in favorites]))
    def _render(self, team_key, event_key):
        awards = TeamEventAwardsQuery(self.team_key, self.event_key).fetch()

        awards_dicts = [
            ModelToDict.awardConverter(award)
            for award in AwardHelper.organizeAwards(awards)
        ]

        return json.dumps(awards_dicts, ensure_ascii=True)
    def _render(self, district_abbrev, year=None):
        self._set_district(district_abbrev)

        event_keys = Event.query(Event.year == self.year, Event.event_district_enum == self.district).fetch(None, keys_only=True)
        events = ndb.get_multi(event_keys)

        events = [ModelToDict.eventConverter(event) for event in events]

        return json.dumps(events, ensure_ascii=True)
Example #44
0
    def webhook_message_data(self):
        payload = self.data_payload
        payload['event_name'] = self.event.name

        from helpers.award_helper import AwardHelper
        from helpers.model_to_dict import ModelToDict
        if self.team:
            payload['awards'] = [
                ModelToDict.awardConverter(award)
                for award in AwardHelper.organizeAwards(self.team_awards)
            ]
        else:
            payload['awards'] = [
                ModelToDict.awardConverter(award)
                for award in AwardHelper.organizeAwards(self.event.awards)
            ]

        return payload
Example #45
0
    def _render(self, team_key):
        self._set_team(team_key)
        event_team_keys_future = EventTeam.query(EventTeam.team == self.team.key).fetch_async(1000, keys_only=True)
        event_teams_futures = ndb.get_multi_async(event_team_keys_future.get_result())

        event_keys = [event_team_future.get_result().event for event_team_future in event_teams_futures]
        events_futures = ndb.get_multi_async(event_keys)

        event_list = [ModelToDict.eventConverter(events_future.get_result()) for events_future in events_futures]
        return json.dumps(event_list, ensure_ascii=True)
Example #46
0
    def webhook_message_data(self):
        from helpers.model_to_dict import ModelToDict

        payload = self.data_payload
        # Remove the FCM-only keys
        del payload['match_key']

        payload['event_name'] = self.event.name
        payload['match'] = ModelToDict.matchConverter(self.match)
        return payload
Example #47
0
    def _render_android(self):
        gcm_keys = self.keys[ClientType.OS_ANDROID]

        data = {}
        data["message_type"] = NotificationType.type_names[NotificationType.MATCH_SCORE]
        data["message_data"] = {}
        data["message_data"]["event_name"] = self.match.event.get().name
        data["message_data"]["match"] = ModelToDict.matchConverter(self.match)

        return GCMMessage(gcm_keys, data)
    def _render(self, team_key, year=None):
        self._write_cache_headers(61)

        self.team = Team.get_by_id(self.team_key)
        if self.team is None:
            self._errors = json.dumps({"404": "%s team not found" % self.team_key})
            self.abort(404)

        events_sorted, matches_by_event_key, awards_by_event_key, _ = TeamDetailsDataFetcher.fetch(self.team, self.year)
        team_dict = ModelToDict.teamConverter(self.team)

        team_dict["events"] = list()
        for event in events_sorted:
            event_dict = ModelToDict.eventConverter(event)
            event_dict["matches"] = [ModelToDict.matchConverter(match) for match in matches_by_event_key.get(event.key, [])]
            event_dict["awards"] = [ModelToDict.awardConverter(award) for award in awards_by_event_key.get(event.key, [])]
            team_dict["events"].append(event_dict)

        return json.dumps(team_dict, ensure_ascii=True)
    def test_build(self):
        expected = {}
        expected['message_type'] = NotificationType.type_names[NotificationType.MATCH_SCORE]
        expected['message_data'] = {}
        expected['message_data']['event_name'] = self.event.name
        expected['message_data']['match'] = ModelToDict.matchConverter(self.match)

        data = self.notification._build_dict()

        self.assertEqual(expected, data)
    def _render(self, year=None):
        if self.year < 1992 or self.year > datetime.now().year + 1:
            self._errors = json.dumps({"404": "No events found for %s" % self.year})
            self.abort(404)

        events = EventListQuery(self.year).fetch()

        event_list = [ModelToDict.eventConverter(event) for event in events]

        return json.dumps(event_list, ensure_ascii=True)
Example #51
0
    def test_build(self):
        expected = {}
        expected['message_type'] = NotificationType.type_names[NotificationType.MATCH_SCORE]
        expected['message_data'] = {}
        expected['message_data']['event_key'] = self.event.key_name
        expected['message_data']['event_name'] = self.event.name
        expected['message_data']['match'] = ModelToDict.matchConverter(self.match)

        data = self.notification._build_dict()

        self.assertEqual(expected, data)
    def test_build(self):
        expected = {}
        expected['notification_type'] = NotificationType.type_names[NotificationType.AWARDS]
        expected['message_data'] = {}
        expected['message_data']['event_name'] = self.event.name
        expected['message_data']['event_key'] = self.event.key_name
        expected['message_data']['awards'] = [ModelToDict.awardConverter(award) for award in AwardHelper.organizeAwards(self.event.awards)]

        data = self.notification._build_dict()

        self.assertEqual(expected, data)
    def _render(self, team_key, year=None):
        self._set_team(team_key)

        event_team_keys = EventTeam.query(EventTeam.team == self.team.key, EventTeam.year == self.year).fetch(1000, keys_only=True)
        event_teams = ndb.get_multi(event_team_keys)
        event_keys = [event_team.event for event_team in event_teams]
        events = ndb.get_multi(event_keys)

        events = [ModelToDict.eventConverter(event) for event in events]

        return json.dumps(events, ensure_ascii=True)
    def _render(self, year=None):
        if self.year < 1992 or self.year > datetime.now().year + 1:
            self._errors = json.dumps({"404": "No events found for %s" % self.year})
            self.abort(404)

        keys = Event.query(Event.year == self.year).fetch(1000, keys_only=True)
        events = ndb.get_multi(keys)

        event_list = [ModelToDict.eventConverter(event) for event in events]

        return json.dumps(event_list, ensure_ascii=True)
Example #55
0
    def _render(self, team_key, year=None):
        self._set_team(team_key)

        event_team_keys = EventTeam.query(EventTeam.team == self.team.key, EventTeam.year == self.year).fetch(1000, keys_only=True)
        event_teams = ndb.get_multi(event_team_keys)
        event_keys = [event_team.event for event_team in event_teams]
        events = ndb.get_multi(event_keys)

        events = [ModelToDict.eventConverter(event) for event in events]

        return json.dumps(events, ensure_ascii=True)
    def _render(self, year=None):
        if self.year < 1992 or self.year > datetime.now().year + 1:
            self._errors = json.dumps(
                {"404": "No events found for %s" % self.year})
            self.abort(404)

        events = EventListQuery(self.year).fetch()

        event_list = [ModelToDict.eventConverter(event) for event in events]

        return json.dumps(event_list, ensure_ascii=True)
Example #57
0
    def _render(self, year=None):
        if self.year < 1992 or self.year > datetime.now().year + 1:
            self._errors = json.dumps(
                {"404": "No events found for %s" % self.year})
            self.abort(404)

        keys = Event.query(Event.year == self.year).fetch(1000, keys_only=True)
        events = ndb.get_multi(keys)

        event_list = [ModelToDict.eventConverter(event) for event in events]

        return json.dumps(event_list, ensure_ascii=True)
    def _render(self,event_key):
        self._set_event(event_key)

        award_dicts = [ModelToDict.awardConverter(award) for award in AwardHelper.organizeAwards(self.event.awards)]
        return json.dumps(award_dicts, ensure_ascii=True)
    def _render(self, event_key):
        self._set_event(event_key)

        event_dict = ModelToDict.eventConverter(self.event)

        return json.dumps(event_dict, ensure_ascii=True)