duckypad-twitch/duckypad_twitch/util.py
2025-01-20 16:57:48 +00:00

34 lines
912 B
Python

import slobs_websocket
def ensure_sl(func):
"""ensure a streamlabs websocket connection has been established"""
def wrapper(self, *args):
if self._duckypad.streamlabs.conn.ws is None:
try:
try:
self.connect()
except AttributeError:
self._duckypad.streamlabs.connect()
except slobs_websocket.exceptions.ConnectionFailure:
self._duckypad.streamlabs.conn.ws = None
return
return func(self, *args)
return wrapper
def ensure_obsws(func):
"""ensure an obs websocket connection has been established"""
def wrapper(self, *args):
if self.request is None:
try:
self.obs_connect()
except (ConnectionRefusedError, TimeoutError):
return
return func(self, *args)
return wrapper