From 0244cfeed46576d3698e5cb050c9e91c47672dfb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Erik=20Hedenstr=C3=B6m?= <erik@hedenstroem.com>
Date: Tue, 18 Jun 2024 14:00:57 +0000
Subject: [PATCH] Cleaned up unused vars

---
 .gitignore        |  1 +
 README.md         | 10 ++++++
 openai_stt/stt.py | 24 ++++---------
 requirements.txt  | 85 +++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 103 insertions(+), 17 deletions(-)
 create mode 100644 .gitignore
 create mode 100644 requirements.txt

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1d17dae
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.venv
diff --git a/README.md b/README.md
index b102f73..9b41761 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,15 @@
 # Custom Components
 
+## Dev Environment
+
+```sh
+python3 -m venv .venv
+source .venv/bin/activate
+python3 -m pip install wheel
+pip3 install homeassistant
+pip3 freeze > requirements.txt
+```
+
 ## OpenAI Whisper API STT
 
 Integration works for Assist pipelines.
diff --git a/openai_stt/stt.py b/openai_stt/stt.py
index 6c02352..0f1f105 100644
--- a/openai_stt/stt.py
+++ b/openai_stt/stt.py
@@ -21,50 +21,40 @@ from homeassistant.components.stt import (
 from homeassistant.core import HomeAssistant
 import homeassistant.helpers.config_validation as cv
 import wave
-import io
 
 
 CONF_API_KEY = 'api_key'
-DEFAULT_LANG = 'en-US'
 OPENAI_STT_URL = "https://api.openai.com/v1/audio/transcriptions"
 CONF_MODEL = 'model'
 CONF_URL = 'url'
-CONF_PROMPT = 'prompt'
-CONF_TEMPERATURE = 'temperature'
 
 PLATFORM_SCHEMA = cv.PLATFORM_SCHEMA.extend({
     vol.Required(CONF_API_KEY): cv.string,
-    vol.Optional(CONF_LANG, default=DEFAULT_LANG): cv.string,
+    vol.Optional(CONF_LANG, default='en-US'): cv.string,
     vol.Optional(CONF_MODEL, default='whisper-1'): cv.string,
-    vol.Optional(CONF_URL, default=None): cv.string,
-    vol.Optional(CONF_PROMPT, default=None): cv.string,
-    vol.Optional(CONF_TEMPERATURE, default=0): cv.positive_int,
+    vol.Optional(CONF_URL, default='https://api.openai.com/v1/audio/transcriptions'): cv.string,
 })
 
 
 async def async_get_engine(hass, config, discovery_info=None):
     """Set up Whisper API STT speech component."""
     api_key = config[CONF_API_KEY]
-    language = config.get(CONF_LANG, DEFAULT_LANG)
+    language = config.get(CONF_LANG)
     model = config.get(CONF_MODEL)
-    url = config.get('url')
-    prompt = config.get('prompt')
-    temperature = config.get('temperature')
-    return OpenAISTTProvider(hass, api_key, language, model, url, prompt, temperature)
+    url = config.get(CONF_URL)
+    return OpenAISTTProvider(hass, api_key, language, model, url)
 
 
 class OpenAISTTProvider(Provider):
     """The Whisper API STT provider."""
 
-    def __init__(self, hass, api_key, lang, model, url, prompt, temperature):
+    def __init__(self, hass, api_key, lang, model, url):
         """Initialize Whisper API STT provider."""
         self.hass = hass
         self._api_key = api_key
         self._language = lang
         self._model = model
         self._url = url
-        self._prompt = prompt
-        self._temperature = temperature
 
     @property
     def default_language(self) -> str:
@@ -128,7 +118,7 @@ class OpenAISTTProvider(Provider):
             file_to_send = open(temp_file_path, 'rb')
             form = aiohttp.FormData()
             form.add_field('file', file_to_send, filename='audio.wav', content_type='audio/wav')
-            form.add_field('language', self._language)
+            form.add_field('language', metadata.language)
             form.add_field('model', self._model)
 
             async with aiohttp.ClientSession() as session:
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..d2ea61b
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,85 @@
+acme==2.10.0
+aiodns==3.2.0
+aiohttp==3.9.5
+aiohttp-cors==0.7.0
+aiohttp-fast-url-dispatcher==0.3.0
+aiohttp-fast-zlib==0.1.0
+aiooui==0.1.5
+aiosignal==1.3.1
+aiozoneinfo==0.1.0
+anyio==4.4.0
+astral==2.2
+async-interrupt==1.1.1
+async-timeout==4.0.3
+atomicwrites-homeassistant==1.4.1
+attrs==23.2.0
+awesomeversion==24.2.0
+bcrypt==4.1.2
+bleak==0.22.2
+bleak-retry-connector==3.5.0
+bluetooth-adapters==0.19.2
+bluetooth-auto-recovery==1.4.2
+bluetooth-data-tools==1.19.0
+boto3==1.34.128
+botocore==1.34.128
+btsocket==0.3.0
+certifi==2024.6.2
+cffi==1.16.0
+charset-normalizer==3.3.2
+ciso8601==2.3.1
+cryptography==42.0.5
+dbus-fast==2.21.3
+envs==1.4
+fnv-hash-fast==0.5.0
+fnvhash==0.1.0
+frozenlist==1.4.1
+greenlet==3.0.3
+h11==0.14.0
+habluetooth==3.1.1
+hass-nabucasa==0.81.1
+home-assistant-bluetooth==1.12.0
+homeassistant==2024.6.3
+httpcore==1.0.5
+httpx==0.27.0
+idna==3.7
+ifaddr==0.2.0
+Jinja2==3.1.4
+jmespath==1.0.1
+josepy==1.14.0
+lru-dict==1.3.0
+MarkupSafe==2.1.5
+multidict==6.0.5
+orjson==3.9.15
+packaging==24.1
+pillow==10.3.0
+psutil==5.9.8
+psutil-home-assistant==0.0.1
+pycares==4.4.0
+pycognito==2024.5.1
+pycparser==2.22
+PyJWT==2.8.0
+pyOpenSSL==24.1.0
+pyRFC3339==1.1
+PyRIC==0.1.6.3
+python-dateutil==2.9.0.post0
+python-slugify==8.0.4
+pytz==2024.1
+PyYAML==6.0.1
+requests==2.32.3
+s3transfer==0.10.1
+setuptools==70.0.0
+six==1.16.0
+sniffio==1.3.1
+snitun==0.39.1
+SQLAlchemy==2.0.30
+text-unidecode==1.3
+typing_extensions==4.12.2
+tzdata==2024.1
+uart-devices==0.1.0
+ulid-transform==0.9.0
+urllib3==1.26.19
+usb-devices==0.4.5
+voluptuous==0.13.1
+voluptuous-serialize==2.6.0
+wheel==0.43.0
+yarl==1.9.4
-- 
GitLab