X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=google_assistant.py;h=ec5f6a4c85e17ed0fb2eaaf4f2f22d8ee2ebf300;hb=31c81f6539969a5eba864d3305f9fb7bf716a367;hp=572b4ccdf25644992f77f66eae800ea9e306ce50;hpb=fa4298fa508e00759565c246aef423ba28fedf31;p=python_utils.git diff --git a/google_assistant.py b/google_assistant.py index 572b4cc..ec5f6a4 100644 --- a/google_assistant.py +++ b/google_assistant.py @@ -1,8 +1,9 @@ #!/usr/bin/env python3 import logging -from typing import NamedTuple import sys +import warnings +from typing import NamedTuple, Optional import requests import speech_recognition as sr # type: ignore @@ -20,14 +21,14 @@ parser.add_argument( type=str, default="http://kiosk.house:3000", metavar="URL", - help="How to contact the Google Assistant bridge" + help="How to contact the Google Assistant bridge", ) parser.add_argument( "--google_assistant_username", type=str, metavar="GOOGLE_ACCOUNT", default="scott.gasch", - help="The user account for talking to Google Assistant" + help="The user account for talking to Google Assistant", ) @@ -35,7 +36,7 @@ class GoogleResponse(NamedTuple): success: bool response: str audio_url: str - audio_transcription: str + audio_transcription: Optional[str] # None if not available. def __repr__(self): return f""" @@ -66,7 +67,7 @@ def ask_google(cmd: str, *, recognize_speech=True) -> GoogleResponse: success = False response = "" audio = "" - audio_transcription = "" + audio_transcription: Optional[str] = "" if r.status_code == 200: j = r.json() success = bool(j["success"]) @@ -93,7 +94,9 @@ def ask_google(cmd: str, *, recognize_speech=True) -> GoogleResponse: logger.debug(f"Transcription: '{audio_transcription}'") except sr.UnknownValueError as e: logger.exception(e) - logger.warning('Unable to parse Google assistant\'s response.') + msg = 'Unable to parse Google assistant\'s response.' + logger.warning(msg) + warnings.warn(msg, stacklevel=3) audio_transcription = None return GoogleResponse( success=success,