This commit is contained in:
2025-12-31 23:25:12 -08:00
parent ada8e563c3
commit 156b50326c
4 changed files with 10 additions and 7 deletions

View File

@@ -29,13 +29,14 @@ from textual.widgets import (
from textual.widgets.option_list import Option from textual.widgets.option_list import Option
BASE_DIR = Path(__file__).resolve().parent BASE_DIR = Path(__file__).resolve().parent
ROOT_DIR = BASE_DIR.parent REPO_ROOT = BASE_DIR
for path in (BASE_DIR, ROOT_DIR): TUI_DIR = REPO_ROOT / "TUI"
for path in (REPO_ROOT, TUI_DIR):
str_path = str(path) str_path = str(path)
if str_path not in sys.path: if str_path not in sys.path:
sys.path.insert(0, str_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.result_table import ResultTable # type: ignore # noqa: E402
from SYS.config import load_config # 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.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 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]: def _dedup_preserve_order(items: List[str]) -> List[str]:
@@ -272,7 +273,7 @@ class TagEditorPopup(ModalScreen[None]):
class PipelineHubApp(App): class PipelineHubApp(App):
"""Textual front-end that executes cmdlet pipelines inline.""" """Textual front-end that executes cmdlet pipelines inline."""
CSS_PATH = "tui.tcss" CSS_PATH = str(TUI_DIR / "tui.tcss")
BINDINGS = [ BINDINGS = [
Binding("ctrl+enter", Binding("ctrl+enter",
"run_pipeline", "run_pipeline",

View File

@@ -185,6 +185,7 @@ def _run_gui(clean_args: List[str]) -> int:
give a helpful error message and exit nonzero. give a helpful error message and exit nonzero.
""" """
try: try:
_ensure_repo_root_on_sys_path()
tui_mod = importlib.import_module("TUI.tui") tui_mod = importlib.import_module("TUI.tui")
except Exception as exc: except Exception as exc:
print( print(

View File

@@ -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. 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.

View File

@@ -6,7 +6,6 @@ build-backend = "setuptools.build_meta"
name = "medeia-macina" name = "medeia-macina"
version = "0.1.0" version = "0.1.0"
description = "Comprehensive media management and search platform with support for local files, Hydrus database, torrents, books, and P2P networks" 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" requires-python = ">=3.9,<3.14"
license = {text = "MIT"} license = {text = "MIT"}
authors = [ authors = [