From: sbkelley Date: Sat, 6 Dec 2025 00:38:45 +0000 (-0500) Subject: Slightly change import structure X-Git-Url: https://skyeroc.xyz/gitweb/?a=commitdiff_plain;h=d397681f7af26a5ed5623c7dd88402be77f106a4;p=obs-ctl Slightly change import structure --- diff --git a/src/obs_ctl/app.py b/src/obs_ctl/app.py index 8f31469..a588149 100644 --- a/src/obs_ctl/app.py +++ b/src/obs_ctl/app.py @@ -8,7 +8,7 @@ from textual.widgets import Footer, Header, Input # need to import log to initalize logging from . import data, log -from .interface import RecordControls, StatsDisplay, SettingsBlock, obs, settings_block +from .interface import RecordControls, StatsDisplay, SettingsBlock, obs, OBSCTLPane, OBSWebSocketPane, OBSSettingsPane logger = getLogger(__name__) @@ -34,13 +34,21 @@ class OBSCtlApp(App): yield SettingsBlock(id="settings_container", classes="section") with HorizontalGroup(id="bottom_block", classes="block"): yield StatsDisplay(id="stats_display", classes="section") - + + def on_mount(self, message): + api: obs.API = self.query_exactly_one("#api") + obs_websocket_pane = self.query_exactly_one("#obs_websocket_pane") + host_setting = obs_websocket_pane.host + port_setting = obs_websocket_pane.port + password_setting = obs_websocket_pane.password + timeout_setting = obs_websocket_pane.timeout + api.connect(host=host_setting, port=port_setting, password=password_setting, timeout=timeout_setting) @on(obs.API.Report, "#api") def on_api_report(self, message: obs.API.Report): self.update_monitors(message.data) - # @on(obs.API.Report, "#api")(on_api_report) + # on_api_report = on(obs.API.Report, "#api")(on_api_report) @on(RecordControls.RecordStarted, "#record_controls") @@ -76,6 +84,7 @@ class OBSCtlApp(App): @on(RecordControls.OBSWSConnected, "#record_controls") def on_obs_ws_connected(self, message: RecordControls.OBSWSConnected): self._query_api("connect") + self.query_exactly_one("#") @on(RecordControls.OBSWSDisconnected, "#record_controls") @@ -87,7 +96,7 @@ class OBSCtlApp(App): api: obs.API = self.query_exactly_one("#api") getattr(api, query)(*args, **kwargs) - @on(settings_block.OBSSettingsPane.RecordPathChanged, "#settings-content") + @on(OBSSettingsPane.RecordPathChanged, "#obs_settings_pane") def on_settings_block_record_path_changed(self, message): api: obs.API = self.query_exactly_one("#api") api.set_record_path(message.value) diff --git a/src/obs_ctl/interface/__init__.py b/src/obs_ctl/interface/__init__.py index fb735f2..6309daf 100644 --- a/src/obs_ctl/interface/__init__.py +++ b/src/obs_ctl/interface/__init__.py @@ -1,4 +1,3 @@ """Provides RecordControls, OBSSettingsPane, StatsDisplay, and the obs module""" -from .molecule import RecordControls, SettingsBlock, StatsDisplay -from .molecule import settings_block +from .molecule import RecordControls, SettingsBlock, StatsDisplay, OBSWebSocketPane, OBSSettingsPane, OBSCTLPane from . import obs \ No newline at end of file diff --git a/src/obs_ctl/interface/molecule/__init__.py b/src/obs_ctl/interface/molecule/__init__.py index a880ff2..564762f 100644 --- a/src/obs_ctl/interface/molecule/__init__.py +++ b/src/obs_ctl/interface/molecule/__init__.py @@ -5,4 +5,4 @@ Uses obs_ctl.interface.element from .record_controls import RecordControls from .settings_block import SettingsBlock from .stats_display import StatsDisplay -from .settings_block import pane \ No newline at end of file +from .settings_block import SettingsBlock, OBSCTLPane, OBSSettingsPane, OBSWebSocketPane \ No newline at end of file diff --git a/src/obs_ctl/interface/molecule/settings_block/__init__.py b/src/obs_ctl/interface/molecule/settings_block/__init__.py index e414d1d..274a192 100644 --- a/src/obs_ctl/interface/molecule/settings_block/__init__.py +++ b/src/obs_ctl/interface/molecule/settings_block/__init__.py @@ -1 +1 @@ -from .settings_block import SettingsBlock, OBSSettingsPane \ No newline at end of file +from .settings_block import SettingsBlock, OBSSettingsPane, OBSWebSocketPane, OBSCTLPane \ No newline at end of file