Пример #1
0
def create_activity(activity: dict, app_state) -> Activity:
    try:
        if not "type" in activity:
            raise ValueError("activity missing required 'type' key")
        activity_type = activity["type"].lower()
        if not "title" in activity:
            activity["title"] = activity_type

        logging.info("Creating new '{}' activity with title '{}'".format(
            activity_type, activity["title"]))
        if activity_type.lower() == "audio":
            return PlaylistStreamState(app_state, activity)
        elif activity_type.lower() == "introduction":
            return IntroductionState(app_state, activity)
        elif activity_type.lower() == "speakingclock":
            return SpeakingClockState(app_state, activity)
        elif activity_type.lower() == "facts":
            return FactsState(app_state, activity)
        elif activity_type.lower() == "__end_state":
            return EndState(app_state, activity)
        else:
            raise ValueError(
                "invalid activity type '{}' specified".format(activity_type))
    except ValueError as err:
        logging.error(err)
Пример #2
0
 def test_play(self):
     config = Configuration()
     p = Personality(config)
     state = SpeakingClockState(config, p)
     state.on_enter();
     time.sleep(12)
     state.on_exit();
Пример #3
0
 def test_midnight_3(self):
     config = Configuration()
     p = Personality(config)
     state = SpeakingClockState(config, p)
     when = datetime.datetime.today()
     state.tell(when.replace(hour=0,minute=54))
Пример #4
0
 def test_midday_2(self):
     config = Configuration()
     p = Personality(config)
     state = SpeakingClockState(config, p)
     when = datetime.datetime.today()
     state.tell(when.replace(day=3,hour=12,minute=13))
Пример #5
0
 def test_evening(self):
     config = Configuration()
     p = Personality(config)
     state = SpeakingClockState(config, p)
     when = datetime.datetime.today()
     state.tell(when.replace(hour=19,minute=23))