import datetime
from dateutil.parser import parse
import pymyq # type: ignore
-from typing import Dict, List, Optional
+from typing import Dict, Optional
-import constants
+from pyutils.datetimes import datetime_utils
+
+import kiosk_constants
import file_writer
import renderer
-import secrets
-import utils
+import kiosk_secrets as secrets
-class garage_door_renderer(renderer.debuggable_abstaining_renderer):
+class garage_door_renderer(renderer.abstaining_renderer):
def __init__(self, name_to_timeout_dict: Dict[str, int]) -> None:
- super(garage_door_renderer, self).__init__(name_to_timeout_dict, False)
+ super().__init__(name_to_timeout_dict)
self.doors: Optional[Dict] = None
self.last_update: Optional[datetime.datetime] = None
return len(self.doors) > 0
def update_page(self) -> bool:
- with file_writer.file_writer(constants.myq_pagename) as f:
+ with file_writer.file_writer(kiosk_constants.myq_pagename) as f:
f.write(
f"""
<H1>Garage Door Status</H1>
def get_state_icon(self, state: str) -> str:
if state == "open":
- return "/kiosk/pages/images/garage_open.png"
+ return "/kiosk/images/garage_open.png"
elif state == "closed":
- return "/kiosk/pages/images/garage_closed.png"
+ return "/kiosk/images/garage_closed.png"
elif state == "opening":
- return "/kiosk/pages/images/garage_opening.png"
+ return "/kiosk/images/garage_opening.png"
elif state == "closing":
- return "/kiosk/pages/images/garage_closing.png"
+ return "/kiosk/images/garage_closing.png"
else:
return str(state) + ", an unknown state for the door."
delta = (now - ts).total_seconds()
now = datetime.datetime.now()
is_night = now.hour <= 7 or now.hour >= 21
- duration = utils.describe_duration_briefly(int(delta))
+ duration = datetime_utils.describe_duration_briefly(int(delta))
width = 0
if is_night and door.state == "open":
color = "border-color: #ff0000;"