update readme and base client

This commit is contained in:
Adem 2023-06-14 01:09:44 +03:00
parent 15559fdb33
commit 64a7c2b753
2 changed files with 5 additions and 5 deletions

View File

@ -27,7 +27,7 @@ By default the clients connect with parameters:
- `host`: "localhost"
- `port`: 4455
- `password`: ""
- `timeout`: 3
You may override these parameters by storing them in a toml config file or passing them as keyword arguments.
Order of precedence: keyword arguments then config file then default values.

View File

@ -7,7 +7,7 @@ from random import randint
from typing import Optional
import websocket
from websocket._exceptions import WebSocketTimeoutException
from .error import OBSSDKError
@ -15,7 +15,7 @@ class ObsClient:
logger = logging.getLogger("baseclient.obsclient")
def __init__(self, **kwargs):
defaultkwargs = {"host": "localhost", "port": 4455, "password": "", "subs": 0, "timeout":3}
defaultkwargs = {"host": "localhost", "port": 4455, "password": "", "subs": 0, "timeout":None}
if not any(key in kwargs for key in ("host", "port", "password")):
kwargs |= self._conn_from_toml()
kwargs = defaultkwargs | kwargs
@ -107,8 +107,8 @@ class ObsClient:
self.logger.debug(f"Sending request {payload}")
try:
self.ws.send(json.dumps(payload))
except TimeoutError:
raise OBSSDKError("Timeout while trying to send the request")
response = json.loads(self.ws.recv())
except WebSocketTimeoutException :
raise OBSSDKError("Timeout while trying to send the request")
self.logger.debug(f"Response received {response}")
return response["d"]