mirror of
https://github.com/onyx-and-iris/obsws-python.git
synced 2024-11-22 04:40:53 +00:00
allow use without installing tomllib
When ObsClient(host='...', port='...', password='...') are provided, importing tomllib is not actually necessary. Allow for tomllib to not be installed at all, and only raise a tomllib ModuleNotFoundError if (host, port, password) are not provided.
This commit is contained in:
parent
ce6873f57a
commit
71c1e65483
@ -6,9 +6,13 @@ from pathlib import Path
|
||||
from random import randint
|
||||
|
||||
try:
|
||||
import tomllib
|
||||
try:
|
||||
import tomllib
|
||||
except ModuleNotFoundError:
|
||||
import tomli as tomllib
|
||||
except ModuleNotFoundError:
|
||||
import tomli as tomllib
|
||||
# ObsClient(host='...', port='...', password='...') must be used
|
||||
tomllib = None
|
||||
|
||||
import websocket
|
||||
|
||||
@ -21,7 +25,12 @@ class ObsClient:
|
||||
def __init__(self, **kwargs):
|
||||
defaultkwargs = {"host": "localhost", "port": 4455, "password": None, "subs": 0}
|
||||
if not any(key in kwargs for key in ("host", "port", "password")):
|
||||
kwargs |= self._conn_from_toml()
|
||||
if tomllib:
|
||||
kwargs |= self._conn_from_toml()
|
||||
else:
|
||||
raise ModuleNotFoundError(
|
||||
"tomllib not installed; Perhaps use "
|
||||
"ObsClient(host='...', port='...', password='...')")
|
||||
kwargs = defaultkwargs | kwargs
|
||||
for attr, val in kwargs.items():
|
||||
setattr(self, attr, val)
|
||||
|
Loading…
Reference in New Issue
Block a user