Make it work with python3.11
authorScott Gasch <[email protected]>
Wed, 17 Dec 2025 03:32:06 +0000 (19:32 -0800)
committerScott Gasch <[email protected]>
Wed, 17 Dec 2025 03:32:06 +0000 (19:32 -0800)
gdata_oauth.py
gkeep_renderer.py
listen.py
local_photos_mirror_renderer.py
ratago_renderer.py

index 983ab51255196353dd90d9d8472d901a73adfba7..4a25b4232480efad918238816ae6c8b83a456cde 100644 (file)
@@ -20,6 +20,7 @@ class OAuth:
     def __init__(self, client_secret_file="client_secret.json"):
         self.credentials = None
         self.credentials_pickle = "./credentials.pickle"
+        self.client_secret_file = client_secret_file
         if os.path.exists(self.credentials_pickle):
             logger.debug(
                 f"Refreshing credentials from disk pickle file {self.credentials_pickle}"
@@ -27,7 +28,7 @@ class OAuth:
             self.credentials = pickle.load(open(self.credentials_pickle, "rb"))
         else:
             logger.debug(f"{self.credentials_pickle} does not exist; calling Google.")
-            self.refresh_credentials(client_secret_file)
+            self.refresh_credentials(self.client_secret_file)
             self.save()
         assert self.credentials is not None
 
index a45c21b2cb271e422b7e54474ec20951c2ec7c9e..0a421c38c5b826a054346adfe36c605208d65efc 100644 (file)
@@ -45,12 +45,11 @@ class gkeep_renderer(renderer.abstaining_renderer):
             except gkeepapi.exception.LoginException:
                 logger.warning("Invalid token, attempting to re-login.")
 
-        if not self.keep.login(
+        self.keep.authenticate(
             secrets.google_keep_username,
-            secrets.google_keep_password,
-            secrets.google_keep_mac,
-        ):
-            raise Exception("Error connecting with Google Keep?!")
+            secrets.google_keep_token,
+        )
+        self.keep.sync()
         logger.debug("Successfully logged in with Google Keep")
 
     def debug_prefix(self) -> str:
@@ -162,11 +161,11 @@ class gkeep_renderer(renderer.abstaining_renderer):
 
 
 # Test
-# logger.setLevel(logging.DEBUG)
-# ch = logging.StreamHandler()
-# ch.setLevel(logging.DEBUG)
-# formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
-# ch.setFormatter(formatter)
-# logger.addHandler(ch)
-# x = gkeep_renderer({"Test", 1234})
-# x.periodic_render("Test")
+#logger.setLevel(logging.DEBUG)
+#ch = logging.StreamHandler()
+#ch.setLevel(logging.DEBUG)
+#formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
+#ch.setFormatter(formatter)
+#logger.addHandler(ch)
+#x = gkeep_renderer({"Test", 1234})
+#x.periodic_render("Test")
index e431a0b199fa67073d315b42e8413187555ef1f1..c81661aca0940475f9a8ba8fa1a107c168d3601e 100755 (executable)
--- a/listen.py
+++ b/listen.py
@@ -49,13 +49,21 @@ class HotwordListener(object):
             recognizer = sr.Recognizer()
             pa = pyaudio.PyAudio()
 
+#            audio_stream = pa.open(
+#                rate=porcupine.sample_rate,
+#                channels=1,
+#                format=pyaudio.paInt16,
+#                input=True,
+#                frames_per_buffer=porcupine.frame_length,
+#                input_device_index=self._input_device_index,
+#            )
             audio_stream = pa.open(
-                rate=porcupine.sample_rate,
-                channels=1,
                 format=pyaudio.paInt16,
+                channels=2,             # kiosk_mic (plug) will downmix for you
+                rate=16000,             # kiosk_mic (plug) will resample for you
                 input=True,
-                frames_per_buffer=porcupine.frame_length,
-                input_device_index=self._input_device_index,
+                input_device_index=7,   # <--- Your new kiosk_mic index
+                frames_per_buffer=1024
             )
 
             logger.info("Listening {")
index f3a0132c9887a3acf260ee9115208c7195e09ee7..b42bac74716a2939b9006d886ac254071123f078 100644 (file)
@@ -119,7 +119,7 @@ class local_photos_mirror_renderer(renderer.abstaining_renderer):
         if len(self.candidate_photos) == 0:
             print("No photos!")
             return False
-        path = random.sample(self.candidate_photos, 1)[0]
+        path = random.sample(list(self.candidate_photos), 1)[0]
         with file_writer.file_writer("photo_23_3600.html") as f:
             f.write(
                 """
index 3db678d5fec29039d0e53ae1b6d5d869d57d7be7..ef89765fe4d33e12fcc3051e5332ce75453909f5 100644 (file)
@@ -46,11 +46,7 @@ class ratago_renderer(renderer.abstaining_renderer):
         key_path = None
         home = os.environ.get('HOME', '/home/scott')
         filename = f'{home}/gasch_certificate/dmzjail-scott-selfsigned.crt'
-        if os.exists(filename):
-            cert_path = filename
         filename = f'{home}/gasch_certificate/dmzjail-scott-selfsigned.key'
-        if os.exists(filename):
-            key_path = filename
         key = secrets.homeassistant_api_key
         headers = {
             "Authorization": f"Bearer {key}",