X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=gcal_renderer.py;h=11f530451e2bd4f58763fcc306176aefff6aaade;hb=eee64ffc56658c323709535ba728a1e81d4c1a95;hp=37f8c8e50671b32e2c432ead74221c01359fe58f;hpb=c06bfef53f70551e7920bc4facce27f47b89e2ba;p=kiosk.git diff --git a/gcal_renderer.py b/gcal_renderer.py index 37f8c8e..11f5304 100644 --- a/gcal_renderer.py +++ b/gcal_renderer.py @@ -4,12 +4,12 @@ contents of several Google calendars.""" import datetime -import gdata +import gdata # type: ignore import gdata_oauth -from oauth2client.client import AccessTokenRefreshError +from oauth2client.client import AccessTokenRefreshError # type: ignore import os import time -from typing import Dict, List, Tuple +from typing import Dict, List, Optional, Tuple import constants import file_writer @@ -39,13 +39,13 @@ class gcal_renderer(renderer.debuggable_abstaining_renderer): def __init__( self, - start_time: datetime.datetime, - end_time: datetime.datetime, + start_time: Optional[datetime.datetime], + end_time: Optional[datetime.datetime], summary: str, calendar: str, ) -> None: if start_time is None: - assert end_time is None + assert(end_time is None) self.start_time = start_time self.end_time = end_time self.summary = summary @@ -87,8 +87,8 @@ class gcal_renderer(renderer.debuggable_abstaining_renderer): super(gcal_renderer, self).__init__(name_to_timeout_dict, True) self.oauth = oauth self.client = self.oauth.calendar_service() - self.sortable_events = [] - self.countdown_events = [] + self.sortable_events: List[gcal_renderer.comparable_event] = [] + self.countdown_events: List[gcal_renderer.comparable_event] = [] def debug_prefix(self) -> str: return "gcal" @@ -100,25 +100,20 @@ class gcal_renderer(renderer.debuggable_abstaining_renderer): elif key == "Look For Triggered Events": return self.look_for_triggered_events() else: - raise error("Unexpected operation") + raise Exception("Unexpected operation") def get_min_max_timewindow(self) -> Tuple[str, str]: now = datetime.datetime.now() - time_min = now - datetime.timedelta(1) - time_max = now + datetime.timedelta(95) - time_min, time_max = list( - map( - lambda x: datetime.datetime.strftime(x, "%Y-%m-%dT%H:%M:%SZ"), - (time_min, time_max), - ) - ) - print(type(time_min)) - self.debug_print("time_min is %s" % time_min) - self.debug_print("time_max is %s" % time_max) + _time_min = now - datetime.timedelta(1) + _time_max = now + datetime.timedelta(95) + time_min = datetime.datetime.strftime(_time_min, "%Y-%m-%dT%H:%M:%SZ") + time_max = datetime.datetime.strftime(_time_max, "%Y-%m-%dT%H:%M:%SZ") + self.debug_print(f"time_min is {time_min}") + self.debug_print(f"time_max is {time_max}") return (time_min, time_max) @staticmethod - def parse_date(date_str: str) -> datetime.datetime: + def parse_date(date_str: str) -> Optional[datetime.datetime]: retval = None try: _ = date_str.get("date") @@ -225,6 +220,8 @@ class gcal_renderer(renderer.debuggable_abstaining_renderer): timestamps = {} for event in upcoming_countdown_events: eventstamp = event.start_time + if eventstamp is None: + return False name = event.friendly_name() delta = eventstamp - now x = int(delta.total_seconds()) @@ -251,8 +248,8 @@ class gcal_renderer(renderer.debuggable_abstaining_renderer): ) g.write("") g.write("