do it this way instead

This commit is contained in:
Danglewood
2024-11-07 18:32:13 -08:00
parent 7089dc70a8
commit 291ba508de

View File

@@ -145,7 +145,14 @@ class WebSocketClient:
atexit.register(self._atexit)
try:
self._setup_database()
loop = asyncio.get_event_loop()
except RuntimeError:
loop = asyncio.new_event_loop()
try:
if loop.is_running():
loop.create_task(self._setup_database())
else:
asyncio.run(self._setup_database())
except DatabaseError as e:
self.logger.error("Error setting up the SQLite database and table: %s", e)
@@ -163,12 +170,12 @@ class WebSocketClient:
if os.path.exists(self.results_file):
os.remove(self.results_file)
def _setup_database(self):
async def _setup_database(self):
"""Set up the SQLite database and table."""
# pylint: disable=import-outside-toplevel
from openbb_websockets.helpers import setup_database
return setup_database(self.results_path, self.table_name)
return await setup_database(self.results_path, self.table_name)
def _log_provider_output(self, output_queue):
"""Log output from the provider server queue."""
@@ -394,13 +401,15 @@ class WebSocketClient:
def results(self):
"""Clear results stored from the WebSocket stream."""
# pylint: disable=import-outside-toplevel
import asyncio
import sqlite3
try:
with sqlite3.connect(self.results_path) as conn:
conn.execute(f"DELETE FROM {self.table_name}") # noqa
conn.commit()
self._setup_database()
asyncio.create_task(self._setup_database())
self.logger.info(
"Results cleared from table %s in %s",
self.table_name,