mirror of
https://github.com/avatao-content/baseimage-tutorial-framework
synced 2024-11-22 13:31:32 +00:00
Inject TFWENV dependencies to builtins
This commit is contained in:
parent
ae69a094c7
commit
c6e01d294d
@ -7,7 +7,6 @@ from datetime import datetime
|
|||||||
from dateutil import parser as dateparser
|
from dateutil import parser as dateparser
|
||||||
|
|
||||||
from tfw.components.snapshot_provider import SnapshotProvider
|
from tfw.components.snapshot_provider import SnapshotProvider
|
||||||
from tfw.config import TFWENV
|
|
||||||
from tfw.networking import Scope
|
from tfw.networking import Scope
|
||||||
|
|
||||||
|
|
||||||
@ -17,7 +16,8 @@ LOG = logging.getLogger(__name__)
|
|||||||
class DirectorySnapshottingEventHandler:
|
class DirectorySnapshottingEventHandler:
|
||||||
keys = ['snapshot']
|
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.snapshot_providers = {}
|
||||||
self._exclude_unix_patterns = exclude_unix_patterns
|
self._exclude_unix_patterns = exclude_unix_patterns
|
||||||
self.init_snapshot_providers(directories)
|
self.init_snapshot_providers(directories)
|
||||||
@ -37,10 +37,9 @@ class DirectorySnapshottingEventHandler:
|
|||||||
self._exclude_unix_patterns
|
self._exclude_unix_patterns
|
||||||
)
|
)
|
||||||
|
|
||||||
@staticmethod
|
def init_git_dir(self, index, directory):
|
||||||
def init_git_dir(index, directory):
|
|
||||||
git_dir = joinpath(
|
git_dir = joinpath(
|
||||||
TFWENV.SNAPSHOTS_DIR,
|
self._snapshots_dir,
|
||||||
f'{basename(directory)}-{index}'
|
f'{basename(directory)}-{index}'
|
||||||
)
|
)
|
||||||
makedirs(git_dir, exist_ok=True)
|
makedirs(git_dir, exist_ok=True)
|
||||||
|
@ -24,7 +24,7 @@ class FSMManagingEventHandler:
|
|||||||
An 'fsm_update' message is broadcasted after every successful
|
An 'fsm_update' message is broadcasted after every successful
|
||||||
command.
|
command.
|
||||||
"""
|
"""
|
||||||
def __init__(self, fsm_type, require_signature=False):
|
def __init__(self, *, fsm_type, require_signature=False):
|
||||||
self.fsm = fsm_type()
|
self.fsm = fsm_type()
|
||||||
self._fsm_updater = FSMUpdater(self.fsm)
|
self._fsm_updater = FSMUpdater(self.fsm)
|
||||||
self.auth_key = KeyManager().auth_key
|
self.auth_key = KeyManager().auth_key
|
||||||
|
@ -47,7 +47,7 @@ class IdeEventHandler:
|
|||||||
|
|
||||||
The API of each command is documented in their respective handler.
|
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 key: the key this instance should listen to
|
||||||
:param directory: working directory which the EventHandler should serve files from
|
:param directory: working directory which the EventHandler should serve files from
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
from tfw.config import TFWENV
|
|
||||||
from tfw.components import LogInotifyObserver
|
from tfw.components import LogInotifyObserver
|
||||||
|
|
||||||
|
|
||||||
@ -18,9 +17,10 @@ class LogMonitoringEventHandler:
|
|||||||
|
|
||||||
The API of each command is documented in their respective handler.
|
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.server_connector = None
|
||||||
self.process_name = process_name
|
self.process_name = process_name
|
||||||
|
self._supervisor_uri = supervisor_uri
|
||||||
self._initial_log_tail = log_tail
|
self._initial_log_tail = log_tail
|
||||||
self._monitor = None
|
self._monitor = None
|
||||||
|
|
||||||
@ -32,7 +32,7 @@ class LogMonitoringEventHandler:
|
|||||||
def start(self):
|
def start(self):
|
||||||
self._monitor = LogInotifyObserver(
|
self._monitor = LogInotifyObserver(
|
||||||
server_connector=self.server_connector,
|
server_connector=self.server_connector,
|
||||||
supervisor_uri=TFWENV.SUPERVISOR_HTTP_URI,
|
supervisor_uri=self._supervisor_uri,
|
||||||
process_name=self.process_name,
|
process_name=self.process_name,
|
||||||
log_tail=self._initial_log_tail
|
log_tail=self._initial_log_tail
|
||||||
)
|
)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import logging
|
import logging
|
||||||
from xmlrpc.client import Fault as SupervisorFault
|
from xmlrpc.client import Fault as SupervisorFault
|
||||||
|
|
||||||
from tfw.config import TFWENV
|
|
||||||
from tfw.networking import Scope
|
from tfw.networking import Scope
|
||||||
from tfw.components import ProcessManager, LogManager
|
from tfw.components import ProcessManager, LogManager
|
||||||
|
|
||||||
@ -23,9 +22,9 @@ class ProcessManagingEventHandler(ProcessManager, LogManager):
|
|||||||
Commands available: start, stop, restart, readlog
|
Commands available: start, stop, restart, readlog
|
||||||
(the names are as self-documenting as it gets)
|
(the names are as self-documenting as it gets)
|
||||||
"""
|
"""
|
||||||
def __init__(self, log_tail=0):
|
def __init__(self, *, supervisor_uri, log_tail=0):
|
||||||
ProcessManager.__init__(self, TFWENV.SUPERVISOR_HTTP_URI)
|
ProcessManager.__init__(self, supervisor_uri)
|
||||||
LogManager.__init__(self, TFWENV.SUPERVISOR_HTTP_URI)
|
LogManager.__init__(self, supervisor_uri)
|
||||||
self.log_tail = log_tail
|
self.log_tail = log_tail
|
||||||
self.commands = {
|
self.commands = {
|
||||||
'start': self.start_process,
|
'start': self.start_process,
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
from tfw.components import BashMonitor, TerminadoMiniServer
|
from tfw.components import BashMonitor, TerminadoMiniServer
|
||||||
from tfw.config import TFWENV
|
|
||||||
from tao.config import TAOENV
|
|
||||||
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
@ -19,19 +17,20 @@ class TerminalEventHandler:
|
|||||||
a command to be executed.
|
a command to be executed.
|
||||||
The API of each command is documented in their respective handler.
|
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 key: key this EventHandler listens to
|
||||||
:param monitor: tfw.components.HistoryMonitor instance to read command history from
|
:param monitor: tfw.components.HistoryMonitor instance to read command history from
|
||||||
"""
|
"""
|
||||||
self.server_connector = None
|
self.server_connector = None
|
||||||
|
self._histfile = histfile
|
||||||
self._historymonitor = None
|
self._historymonitor = None
|
||||||
bash_as_user_cmd = ['sudo', '-u', TAOENV.USER, 'bash']
|
bash_as_user_cmd = ['sudo', '-u', user, 'bash']
|
||||||
|
|
||||||
self.terminado_server = TerminadoMiniServer(
|
self.terminado_server = TerminadoMiniServer(
|
||||||
'/terminal',
|
'/terminal',
|
||||||
TFWENV.TERMINADO_PORT,
|
port,
|
||||||
TFWENV.TERMINADO_WD,
|
workind_directory,
|
||||||
bash_as_user_cmd
|
bash_as_user_cmd
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -43,7 +42,7 @@ class TerminalEventHandler:
|
|||||||
self.terminado_server.listen()
|
self.terminado_server.listen()
|
||||||
|
|
||||||
def start(self):
|
def start(self):
|
||||||
self._historymonitor = BashMonitor(self.server_connector, TFWENV.HISTFILE)
|
self._historymonitor = BashMonitor(self.server_connector, self._histfile)
|
||||||
self._historymonitor.start()
|
self._historymonitor.start()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
Loading…
Reference in New Issue
Block a user