X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=gkeep_renderer.py;h=a45c21b2cb271e422b7e54474ec20951c2ec7c9e;hb=ea1ee5f817c01c3736a64d73d496cf35cbd383e5;hp=d7765c8a32950a3d21bfb7d71536f9731e3b418e;hpb=55bcd1ba1b9d481e0d0dc604932bcc0f7f4fa127;p=kiosk.git diff --git a/gkeep_renderer.py b/gkeep_renderer.py index d7765c8..a45c21b 100644 --- a/gkeep_renderer.py +++ b/gkeep_renderer.py @@ -7,13 +7,13 @@ from typing import Dict import gkeepapi # type: ignore -import constants +import kiosk_constants import file_writer import renderer import kiosk_secrets as secrets -logger = logging.getLogger(__file__) +logger = logging.getLogger(__name__) class gkeep_renderer(renderer.abstaining_renderer): @@ -34,20 +34,31 @@ class gkeep_renderer(renderer.abstaining_renderer): "teal": "#16504B", } self.keep = gkeepapi.Keep() - success = self.keep.login( - secrets.google_keep_username, secrets.google_keep_password - ) - if success: - logger.debug("Connected with gkeep.") - else: - logger.debug("Error connecting with gkeep.") + self.token_file = "./.google_keep_token" + if os.path.exists(self.token_file): + logger.debug("Attempting to reuse persisted Google Keep login token...") + try: + with open(self.token_file, "r") as rf: + token = "".join(rf.readlines()).strip() + self.keep.resume(secrets.google_keep_username, token) + logger.debug("Successfully reused existing login token.") + except gkeepapi.exception.LoginException: + logger.warning("Invalid token, attempting to re-login.") + + if not self.keep.login( + secrets.google_keep_username, + secrets.google_keep_password, + secrets.google_keep_mac, + ): + raise Exception("Error connecting with Google Keep?!") + logger.debug("Successfully logged in with Google Keep") def debug_prefix(self) -> str: return "gkeep" def periodic_render(self, key: str) -> bool: strikethrough = re.compile("(\u2611[^\n]*)\n", re.UNICODE) - linkify = re.compile(r".*(https?:\/\/\S+).*") + # linkify = re.compile(r".*(https?:\/\/\S+).*") self.keep.sync() result_list = self.keep.find(labels=[self.keep.findLabel("kiosk")]) @@ -65,13 +76,12 @@ class gkeep_renderer(renderer.abstaining_renderer): contents = contents.replace( "\u2610 ", '
{note.title}
\n' @@ -123,29 +134,39 @@ class gkeep_renderer(renderer.abstaining_renderer): ' | \n'
)
f.write("
|