def run(self, dispatcher, tracker, domain): # utter wait message #dispatcher.utter_message("Einen Augenblick. Ich sehe mal im Kalender nach.") date_conv = DateConverter() # check if time was given by the user and convert relative dates and time periods if tracker.get_slot('date'): given_date = tracker.get_slot('date') start_time = given_date end_time = 0 bot_reply_message = self._generate_reply_message_with_date( start_time, end_time, given_date) dispatcher.utter_message(bot_reply_message) return [SlotSet('date', None)] elif tracker.get_slot('relativedate'): given_date = tracker.get_slot('relativedate') start_time, end_time = date_conv.convert_relativedate(given_date) bot_reply_message = self._generate_reply_message_with_date( start_time, end_time, given_date) dispatcher.utter_message(bot_reply_message) return [SlotSet('relativedate', None)] elif tracker.get_slot('dateperiod'): given_date = tracker.get_slot('dateperiod') start_time, end_time = date_conv.convert_dateperiod(given_date) bot_reply_message = self._generate_reply_message_with_date( start_time, end_time, given_date) dispatcher.utter_message(bot_reply_message) return [SlotSet('dateperiod', None)] elif tracker.get_slot( 'activity' ): # if only activity (subject) is given search an event by activity name subject = tracker.get_slot('activity') bot_reply_message = self._generate_reply_message_with_subject( subject) dispatcher.utter_message(bot_reply_message) return [SlotSet('activity', None)] else: bot_reply_message = "Mir fehlen leider noch Informationen zum Finden deiner Termine. \n" \ "Versuche es noch einmal mit Uhrzeit oder Betreff." dispatcher.utter_message(bot_reply_message) return []
def test_search_google_calendar_by_time_today(): dc = DateConverter() start_time, end_time = dc.convert_relativedate('heute') gct = GoogleCalendarTasks() appointment = gct.search_google_calendar_by_time(start_time, end_time)