|
from os import path |
|
|
|
from injector import inject |
|
|
|
from taskweaver.config.module_config import ModuleConfig |
|
|
|
|
|
class WorkspaceConfig(ModuleConfig): |
|
def _configure(self): |
|
self._set_name("workspace") |
|
|
|
self.mode = self._get_str("mode", "local") |
|
self.workspace_path = self._get_path( |
|
"workspace_path", |
|
path.join( |
|
self.src.app_base_path, |
|
"workspace", |
|
), |
|
) |
|
|
|
|
|
class Workspace(object): |
|
@inject |
|
def __init__(self, config: WorkspaceConfig) -> None: |
|
self.config = config |
|
|
|
def get_session_dir(self, session_id: str) -> str: |
|
return path.join(self.config.workspace_path, "sessions", session_id) |
|
|