| 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) |
|
|