diff --git a/TUI/tui.py b/TUI.py similarity index 99% rename from TUI/tui.py rename to TUI.py index 58edfad..98fdddd 100644 --- a/TUI/tui.py +++ b/TUI.py @@ -29,13 +29,14 @@ from textual.widgets import ( from textual.widgets.option_list import Option BASE_DIR = Path(__file__).resolve().parent -ROOT_DIR = BASE_DIR.parent -for path in (BASE_DIR, ROOT_DIR): +REPO_ROOT = BASE_DIR +TUI_DIR = REPO_ROOT / "TUI" +for path in (REPO_ROOT, TUI_DIR): str_path = str(path) if str_path not in sys.path: sys.path.insert(0, str_path) -from pipeline_runner import PipelineRunResult # type: ignore # noqa: E402 +from TUI.pipeline_runner import PipelineRunResult # type: ignore # noqa: E402 from SYS.result_table import ResultTable # type: ignore # noqa: E402 from SYS.config import load_config # type: ignore # noqa: E402 @@ -43,7 +44,7 @@ from Store.registry import Store as StoreRegistry # type: ignore # noqa: E402 from SYS.cmdlet_catalog import ensure_registry_loaded, list_cmdlet_names # type: ignore # noqa: E402 from SYS.cli_syntax import validate_pipeline_text # type: ignore # noqa: E402 -from pipeline_runner import PipelineRunner # type: ignore # noqa: E402 +from TUI.pipeline_runner import PipelineRunner # type: ignore # noqa: E402 def _dedup_preserve_order(items: List[str]) -> List[str]: @@ -272,7 +273,7 @@ class TagEditorPopup(ModalScreen[None]): class PipelineHubApp(App): """Textual front-end that executes cmdlet pipelines inline.""" - CSS_PATH = "tui.tcss" + CSS_PATH = str(TUI_DIR / "tui.tcss") BINDINGS = [ Binding("ctrl+enter", "run_pipeline", diff --git a/medeia_macina/cli_entry.py b/medeia_macina/cli_entry.py index 81d6f45..9c274f3 100644 --- a/medeia_macina/cli_entry.py +++ b/medeia_macina/cli_entry.py @@ -185,6 +185,7 @@ def _run_gui(clean_args: List[str]) -> int: give a helpful error message and exit non‑zero. """ try: + _ensure_repo_root_on_sys_path() tui_mod = importlib.import_module("TUI.tui") except Exception as exc: print( diff --git a/readme.md b/readme.md index f5995f6..32b8d6a 100644 --- a/readme.md +++ b/readme.md @@ -1,4 +1,6 @@ -# Medios-Macina +# Medeia-Macina + +This repository now keeps its detailed guide inside `scripts/README.md` to keep the root folder lean. See that file for installation, usage, and contributor information.# Medios-Macina Medios-Macina is a CLI media manager and toolkit focused on downloading, tagging, and media storage (audio, video, images, and text) from a variety of providers and sources. It is designed around a compact, pipeable command language ("cmdlets") so complex workflows can be composed simply and repeatably. diff --git a/scripts/pyproject.toml b/scripts/pyproject.toml index 007c0be..d93cea9 100644 --- a/scripts/pyproject.toml +++ b/scripts/pyproject.toml @@ -6,7 +6,6 @@ build-backend = "setuptools.build_meta" name = "medeia-macina" version = "0.1.0" description = "Comprehensive media management and search platform with support for local files, Hydrus database, torrents, books, and P2P networks" -readme = "../readme.md" requires-python = ">=3.9,<3.14" license = {text = "MIT"} authors = [