def _getteam_status(cls, request): team_number = request['result']['parameters']['team_number'] team_key = 'frc{}'.format(team_number) team = Team.get_by_id(team_key) if team: events = TeamYearEventsQuery(team_key, datetime.datetime.now().year).fetch() current_event = None for event in events: if event.now: current_event = event if current_event: event_team = EventTeam.get_by_id('{}_{}'.format(current_event.key.id(), team_key)) text = EventTeamStatusHelper.generate_team_at_event_status_string( team_key, event_team.status, formatting=False, event=current_event) tts = 'Team {} {}'.format( cls._team_number_tts(team_number), EventTeamStatusHelper.generate_team_at_event_status_string( team_key, event_team.status, formatting=False, event=current_event, include_team=False, verbose=True)) additional_prompt = ' Would you like to know more about {} or another team?'.format(team_number) text += additional_prompt tts += additional_prompt messages = cls._create_simple_response(text, tts=tts) +\ cls._create_link_chip(current_event.display_name, 'https://www.thebluealliance.com/event/{}'.format(current_event.key.id())) else: fmt = 'Team {0} is not currently competing. Would you like to know more about {0} or another team?' text = fmt.format( team_number) tts = fmt.format( cls._team_number_tts(team_number)) messages = cls._create_simple_response(text, tts=tts) messages += cls._create_suggestion_chips([ 'Next match', 'Location', 'Rookie year', 'Another team', 'No thanks', ]) else: fmt = 'Team {0} does not exist. Please ask about another team.' text = fmt.format(team_number) tts = fmt.format(cls._team_number_tts(team_number)) messages = cls._create_simple_response(text, tts=tts) return { 'speech': text, 'messages': messages, }
def _render(self, team_key, year): event_teams, self._last_modified = TeamYearEventTeamsQuery( team_key, int(year)).fetch(return_updated=True) statuses = {} for event_team in event_teams: status = event_team.status if status: status.update({ 'alliance_status_str': EventTeamStatusHelper. generate_team_at_event_alliance_status_string( team_key, status), 'playoff_status_str': EventTeamStatusHelper. generate_team_at_event_playoff_status_string( team_key, status), 'overall_status_str': EventTeamStatusHelper.generate_team_at_event_status_string( team_key, status), }) statuses[event_team.event.id()] = status return json.dumps(statuses, ensure_ascii=True, indent=2, sort_keys=True)
def _render(self, team_key, event_key): event_team = EventTeam.get_by_id('{}_{}'.format(event_key, team_key)) status = None if event_team: status = event_team.status if status: status.update({ 'alliance_status_str': EventTeamStatusHelper.generate_team_at_event_alliance_status_string(team_key, status), 'playoff_status_str': EventTeamStatusHelper.generate_team_at_event_playoff_status_string(team_key, status), 'overall_status_str': EventTeamStatusHelper.generate_team_at_event_status_string(team_key, status), }) return json.dumps(status, ensure_ascii=True, indent=2, sort_keys=True)
def _render(self, team_key, year): event_teams, self._last_modified = TeamYearEventTeamsQuery(team_key, int(year)).fetch(return_updated=True) statuses = {} for event_team in event_teams: status = event_team.status if status: status.update({ 'alliance_status_str': EventTeamStatusHelper.generate_team_at_event_alliance_status_string(team_key, status), 'playoff_status_str': EventTeamStatusHelper.generate_team_at_event_playoff_status_string(team_key, status), 'overall_status_str': EventTeamStatusHelper.generate_team_at_event_status_string(team_key, status), }) statuses[event_team.event.id()] = status return json.dumps(statuses, ensure_ascii=True, indent=2, sort_keys=True)
def _render(self, team_key, event_key): event_team = EventTeam.get_by_id('{}_{}'.format(event_key, team_key)) status = None if event_team: status = event_team.status self._last_modified = event_team.updated else: self._last_modified = datetime.datetime.now() if status: status.update({ 'alliance_status_str': EventTeamStatusHelper.generate_team_at_event_alliance_status_string(team_key, status), 'playoff_status_str': EventTeamStatusHelper.generate_team_at_event_playoff_status_string(team_key, status), 'overall_status_str': EventTeamStatusHelper.generate_team_at_event_status_string(team_key, status), }) return json.dumps(status, ensure_ascii=True, indent=2, sort_keys=True)
def _render(self, team_number): self.response.headers['content-type'] = 'text/plain; charset="utf-8"' user = self.request.get('user') if user: user_str = '@{}, '.format(user) else: user_str = '' team_event_or_error = validate_team(user_str, team_number) if type(team_event_or_error) == str: return team_event_or_error _, event = team_event_or_error event_code_upper = event.event_short.upper() event_team = EventTeam.get_by_id('{}_frc{}'.format(event.key.id(), team_number)) team_key = 'frc{}'.format(team_number) status = EventTeamStatusHelper.generate_team_at_event_status_string(team_key, event_team.status) if status: status = status.replace('<b>', '').replace('</b>', '') return '{}[{}] {}'.format(user_str, event_code_upper, status)
def _render(self, team_number): self.response.headers['content-type'] = 'text/plain; charset="utf-8"' user = self.request.get('user') if user: user_str = '@{}, '.format(user) else: user_str = '' team_event_or_error = validate_team(user_str, team_number) if type(team_event_or_error) == str: return team_event_or_error _, event = team_event_or_error event_code_upper = event.event_short.upper() event_team = EventTeam.get_by_id('{}_frc{}'.format( event.key.id(), team_number)) team_key = 'frc{}'.format(team_number) status = EventTeamStatusHelper.generate_team_at_event_status_string( team_key, event_team.status) if status: status = status.replace('<b>', '').replace('</b>', '') return '{}[{}] {}'.format(user_str, event_code_upper, status)
def _getteam_status(cls, request): team_number = request['result']['parameters']['team_number'] team_key = 'frc{}'.format(team_number) team = Team.get_by_id(team_key) if team: events = TeamYearEventsQuery(team_key, datetime.datetime.now().year).fetch() current_event = None for event in events: if event.now: current_event = event if current_event: event_team = EventTeam.get_by_id('{}_{}'.format( current_event.key.id(), team_key)) text = EventTeamStatusHelper.generate_team_at_event_status_string( team_key, event_team.status, formatting=False, event=current_event) tts = 'Team {} {}'.format( cls._team_number_tts(team_number), EventTeamStatusHelper.generate_team_at_event_status_string( team_key, event_team.status, formatting=False, event=current_event, include_team=False, verbose=True)) additional_prompt = ' Would you like to know more about {} or another team?'.format( team_number) text += additional_prompt tts += additional_prompt messages = cls._create_simple_response(text, tts=tts) +\ cls._create_link_chip(current_event.display_name, 'https://www.thebluealliance.com/event/{}'.format(current_event.key.id())) else: fmt = 'Team {0} is not currently competing. Would you like to know more about {0} or another team?' text = fmt.format(team_number) tts = fmt.format(cls._team_number_tts(team_number)) messages = cls._create_simple_response(text, tts=tts) messages += cls._create_suggestion_chips([ 'Next match', 'Location', 'Rookie year', 'Another team', 'No thanks', ]) else: fmt = 'Team {0} does not exist. Please ask about another team.' text = fmt.format(team_number) tts = fmt.format(cls._team_number_tts(team_number)) messages = cls._create_simple_response(text, tts=tts) return { 'speech': text, 'messages': messages, }