Merge pull request #30 from aatikturk/client_auth_loggers

auth logger for clients
This commit is contained in:
Onyx and Iris 2023-07-04 17:17:44 +01:00 committed by GitHub
commit ca72b92eb3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 31 additions and 8 deletions

5
.gitignore vendored
View File

@ -45,6 +45,11 @@ env.bak/
venv.bak/
.hatch
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
.python-version
# Test/config
quick.py
config.toml

View File

@ -108,9 +108,15 @@ class ObsClient:
self.ws.send(json.dumps(payload))
try:
response = json.loads(self.ws.recv())
return response["op"] == 2
if response["op"] != 2:
raise OBSSDKError(
"failed to identify client with the server, expected response with OpCode 2 Identified"
)
return response["d"]
except json.decoder.JSONDecodeError:
raise OBSSDKError("failed to identify client with the server")
raise OBSSDKError(
"failed to identify client with the server, please check connection settings"
)
def req(self, req_type, req_data=None):
payload = {

View File

@ -7,7 +7,7 @@ from websocket import WebSocketTimeoutException
from .baseclient import ObsClient
from .callback import Callback
from .error import OBSSDKTimeoutError
from .error import OBSSDKError, OBSSDKTimeoutError
from .subs import Subs
"""
@ -27,8 +27,14 @@ class EventClient:
defaultkwargs = {"subs": Subs.LOW_VOLUME}
kwargs = defaultkwargs | kwargs
self.base_client = ObsClient(**kwargs)
if self.base_client.authenticate():
self.logger.info(f"Successfully identified {self} with the server")
try:
success = self.base_client.authenticate()
self.logger.info(
f"Successfully identified {self} with the server using RPC version:{success['negotiatedRpcVersion']}"
)
except OBSSDKError as e:
self.logger.error(f"{type(e).__name__}: {e}")
raise
self.callback = Callback()
self.subscribe()

View File

@ -17,8 +17,14 @@ class ReqClient:
def __init__(self, **kwargs):
self.logger = logger.getChild(self.__class__.__name__)
self.base_client = ObsClient(**kwargs)
if self.base_client.authenticate():
self.logger.info(f"Successfully identified {self} with the server")
try:
success = self.base_client.authenticate()
self.logger.info(
f"Successfully identified {self} with the server using RPC version:{success['negotiatedRpcVersion']}"
)
except OBSSDKError as e:
self.logger.error(f"{type(e).__name__}: {e}")
raise
def __enter__(self):
return self

View File

@ -1 +1 @@
version = "1.5.1"
version = "1.5.2"