diff --git a/lib/tfw/builtins/directory_snapshotting_event_handler.py b/lib/tfw/builtins/directory_snapshotting_event_handler.py index 0029f9b..91aff92 100644 --- a/lib/tfw/builtins/directory_snapshotting_event_handler.py +++ b/lib/tfw/builtins/directory_snapshotting_event_handler.py @@ -7,7 +7,6 @@ from datetime import datetime from dateutil import parser as dateparser from tfw.components.snapshot_provider import SnapshotProvider -from tfw.config import TFWENV from tfw.networking import Scope @@ -17,7 +16,8 @@ LOG = logging.getLogger(__name__) class DirectorySnapshottingEventHandler: keys = ['snapshot'] - def __init__(self, directories, exclude_unix_patterns=None): + def __init__(self, *, directories, snapshots_dir, exclude_unix_patterns=None): + self._snapshots_dir = snapshots_dir self.snapshot_providers = {} self._exclude_unix_patterns = exclude_unix_patterns self.init_snapshot_providers(directories) @@ -37,10 +37,9 @@ class DirectorySnapshottingEventHandler: self._exclude_unix_patterns ) - @staticmethod - def init_git_dir(index, directory): + def init_git_dir(self, index, directory): git_dir = joinpath( - TFWENV.SNAPSHOTS_DIR, + self._snapshots_dir, f'{basename(directory)}-{index}' ) makedirs(git_dir, exist_ok=True) diff --git a/lib/tfw/builtins/fsm_managing_event_handler.py b/lib/tfw/builtins/fsm_managing_event_handler.py index dbc568b..2bf7fa2 100644 --- a/lib/tfw/builtins/fsm_managing_event_handler.py +++ b/lib/tfw/builtins/fsm_managing_event_handler.py @@ -24,7 +24,7 @@ class FSMManagingEventHandler: An 'fsm_update' message is broadcasted after every successful command. """ - def __init__(self, fsm_type, require_signature=False): + def __init__(self, *, fsm_type, require_signature=False): self.fsm = fsm_type() self._fsm_updater = FSMUpdater(self.fsm) self.auth_key = KeyManager().auth_key diff --git a/lib/tfw/builtins/ide_event_handler.py b/lib/tfw/builtins/ide_event_handler.py index 1ec4ebd..6cff1f4 100644 --- a/lib/tfw/builtins/ide_event_handler.py +++ b/lib/tfw/builtins/ide_event_handler.py @@ -47,7 +47,7 @@ class IdeEventHandler: The API of each command is documented in their respective handler. """ - def __init__(self, directory, allowed_directories, selected_file=None, exclude=None): + def __init__(self, *, directory, allowed_directories, selected_file=None, exclude=None): """ :param key: the key this instance should listen to :param directory: working directory which the EventHandler should serve files from diff --git a/lib/tfw/builtins/log_monitoring_event_handler.py b/lib/tfw/builtins/log_monitoring_event_handler.py index 7e376fc..54927eb 100644 --- a/lib/tfw/builtins/log_monitoring_event_handler.py +++ b/lib/tfw/builtins/log_monitoring_event_handler.py @@ -1,6 +1,5 @@ import logging -from tfw.config import TFWENV from tfw.components import LogInotifyObserver @@ -18,9 +17,10 @@ class LogMonitoringEventHandler: The API of each command is documented in their respective handler. """ - def __init__(self, process_name, log_tail=0): + def __init__(self, *, process_name, supervisor_uri, log_tail=0): self.server_connector = None self.process_name = process_name + self._supervisor_uri = supervisor_uri self._initial_log_tail = log_tail self._monitor = None @@ -32,7 +32,7 @@ class LogMonitoringEventHandler: def start(self): self._monitor = LogInotifyObserver( server_connector=self.server_connector, - supervisor_uri=TFWENV.SUPERVISOR_HTTP_URI, + supervisor_uri=self._supervisor_uri, process_name=self.process_name, log_tail=self._initial_log_tail ) diff --git a/lib/tfw/builtins/process_managing_event_handler.py b/lib/tfw/builtins/process_managing_event_handler.py index fe25ab6..41eb114 100644 --- a/lib/tfw/builtins/process_managing_event_handler.py +++ b/lib/tfw/builtins/process_managing_event_handler.py @@ -1,7 +1,6 @@ import logging from xmlrpc.client import Fault as SupervisorFault -from tfw.config import TFWENV from tfw.networking import Scope from tfw.components import ProcessManager, LogManager @@ -23,9 +22,9 @@ class ProcessManagingEventHandler(ProcessManager, LogManager): Commands available: start, stop, restart, readlog (the names are as self-documenting as it gets) """ - def __init__(self, log_tail=0): - ProcessManager.__init__(self, TFWENV.SUPERVISOR_HTTP_URI) - LogManager.__init__(self, TFWENV.SUPERVISOR_HTTP_URI) + def __init__(self, *, supervisor_uri, log_tail=0): + ProcessManager.__init__(self, supervisor_uri) + LogManager.__init__(self, supervisor_uri) self.log_tail = log_tail self.commands = { 'start': self.start_process, diff --git a/lib/tfw/builtins/terminal_event_handler.py b/lib/tfw/builtins/terminal_event_handler.py index d02a058..6cee755 100644 --- a/lib/tfw/builtins/terminal_event_handler.py +++ b/lib/tfw/builtins/terminal_event_handler.py @@ -1,8 +1,6 @@ import logging from tfw.components import BashMonitor, TerminadoMiniServer -from tfw.config import TFWENV -from tao.config import TAOENV LOG = logging.getLogger(__name__) @@ -19,19 +17,20 @@ class TerminalEventHandler: a command to be executed. The API of each command is documented in their respective handler. """ - def __init__(self): + def __init__(self, *, port, user, workind_directory, histfile): """ :param key: key this EventHandler listens to :param monitor: tfw.components.HistoryMonitor instance to read command history from """ self.server_connector = None + self._histfile = histfile self._historymonitor = None - bash_as_user_cmd = ['sudo', '-u', TAOENV.USER, 'bash'] + bash_as_user_cmd = ['sudo', '-u', user, 'bash'] self.terminado_server = TerminadoMiniServer( '/terminal', - TFWENV.TERMINADO_PORT, - TFWENV.TERMINADO_WD, + port, + workind_directory, bash_as_user_cmd ) @@ -43,7 +42,7 @@ class TerminalEventHandler: self.terminado_server.listen() def start(self): - self._historymonitor = BashMonitor(self.server_connector, TFWENV.HISTFILE) + self._historymonitor = BashMonitor(self.server_connector, self._histfile) self._historymonitor.start() @property