no longer sending event name to callback

update tests accordingly
This commit is contained in:
onyx-and-iris 2022-07-26 21:47:41 +01:00
parent 5532ecef03
commit 362ec22257
3 changed files with 12 additions and 13 deletions

View File

@ -15,17 +15,19 @@ class Observer:
print(f"Registered events: {self._cl.callback.get()}")
def on_current_program_scene_changed(self, data):
"""The current program scene has changed."""
print(f"Switched to scene {data['sceneName']}")
def on_scene_created(self, event, data):
def on_scene_created(self, data):
"""A new scene has been created."""
print(f"{event}: {data}")
print(f"scene {data['sceneName']} has been created")
def on_input_mute_state_changed(self, event, data):
def on_input_mute_state_changed(self, data):
"""An input's mute state has changed."""
print(f"{event}: {data}")
print(f"{data['inputName']} mute toggled")
def on_exit_started(self):
def on_exit_started(self, data):
"""OBS has begun the shutdown process."""
print(f"OBS closing!")
self._cl.unsubscribe()

View File

@ -4,12 +4,12 @@ import obsstudio_sdk as obs
def main():
res = cl.GetSceneList()
scenes = reversed(tuple(d["sceneName"] for d in res["d"]["responseData"]["scenes"]))
resp = cl.get_scene_list()
scenes = reversed(tuple(di["sceneName"] for di in resp["scenes"]))
for sc in scenes:
print(f"Switching to scene {sc}")
cl.SetCurrentProgramScene(sc)
cl.set_current_program_scene(sc)
time.sleep(0.5)

View File

@ -23,15 +23,12 @@ class Callback:
return [self.to_camel_case(fn.__name__) for fn in self._callbacks]
def trigger(self, event, data=None):
def trigger(self, event, data):
"""trigger callback on update"""
for fn in self._callbacks:
if fn.__name__ == self.to_snake_case(event):
if "eventData" in data:
fn(event, data["eventData"])
else:
fn(event)
fn(data.get("eventData"))
def register(self, fns: Union[Iterable, Callable]):
"""registers callback functions"""