From 68e888a01018aa9cd403c24aa21cd2684c5a9b2c Mon Sep 17 00:00:00 2001 From: Research Assistant Date: Thu, 7 May 2026 19:41:51 +0800 Subject: [PATCH] feat(48-textual-tui-removal): update CLI help and remove textual dependency - Update setup parser help text (remove 'Textual-based' reference) - Remove textual>=0.47.0 from pyproject.toml dependencies - Remove textual from scripts/validate_setup.py required dict --- paperforge/cli.py | 16 +++++++--------- pyproject.toml | 1 - scripts/validate_setup.py | 8 ++++---- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/paperforge/cli.py b/paperforge/cli.py index 410cd7d5..519bdf9d 100644 --- a/paperforge/cli.py +++ b/paperforge/cli.py @@ -250,7 +250,7 @@ def build_parser() -> argparse.ArgumentParser: sub.add_parser("update", help="Update PaperForge to the latest version") # setup wizard - p_setup = sub.add_parser("setup", help="Run the setup wizard (Textual-based)") + p_setup = sub.add_parser("setup", help="Set up PaperForge in a vault (use --headless for non-interactive)") p_setup.add_argument( "--headless", action="store_true", @@ -277,12 +277,12 @@ def build_parser() -> argparse.ArgumentParser: p_setup.add_argument( "--system-dir", metavar="NAME", - help="System directory name (default: 99_System)", + help="System directory name (default: System)", ) p_setup.add_argument( "--resources-dir", metavar="NAME", - help="Resources directory name (default: 03_Resources)", + help="Resources directory name (default: Resources)", ) p_setup.add_argument( "--literature-dir", @@ -297,7 +297,7 @@ def build_parser() -> argparse.ArgumentParser: p_setup.add_argument( "--base-dir", metavar="NAME", - help="Base directory name (default: 05_Bases)", + help="Base directory name (default: Bases)", ) p_setup.add_argument( "--zotero-data", @@ -464,11 +464,9 @@ def main(argv: list[str] | None = None) -> int: paddleocr_key=getattr(args, "paddleocr_key", None), paddleocr_url=getattr(args, "paddleocr_url", "https://paddleocr.aistudio-app.com/api/v2/ocr/jobs"), - system_dir=getattr(args, "system_dir", None) or "99_System", - resources_dir=getattr(args, "resources_dir", None) or "03_Resources", - literature_dir=getattr(args, "literature_dir", None) or "Literature", - control_dir=getattr(args, "control_dir", None) or "LiteratureControl", - base_dir=getattr(args, "base_dir", None) or "05_Bases", + system_dir=getattr(args, "system_dir", None) or "System", + resources_dir=getattr(args, "resources_dir", None) or "Resources", + base_dir=getattr(args, "base_dir", None) or "Bases", zotero_data=getattr(args, "zotero_data", None), skip_checks=getattr(args, "skip_checks", False), ) diff --git a/pyproject.toml b/pyproject.toml index d50bc34b..c9eeb28a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,6 @@ dependencies = [ "pymupdf>=1.23.0", "pillow>=10.0.0", "tenacity>=8.2.0", - "textual>=0.47.0", "tqdm>=4.66.0", "filelock>=3.13.0", ] diff --git a/scripts/validate_setup.py b/scripts/validate_setup.py index 8dd5e43e..1093c7ce 100644 --- a/scripts/validate_setup.py +++ b/scripts/validate_setup.py @@ -30,11 +30,11 @@ def load_config(vault: Path) -> dict: # Legacy fallback for pre-01-03 installs defaults = { - "system_dir": "99_System", - "resources_dir": "03_Resources", + "system_dir": "System", + "resources_dir": "Resources", "literature_dir": "Literature", "control_dir": "LiteratureControl", - "base_dir": "05_Bases", + "base_dir": "Bases", "skill_dir": ".opencode/skills", } config_path = vault / "paperforge.json" @@ -59,7 +59,7 @@ def resolve_vault_for_validate() -> Path: def validate_python_deps() -> list[tuple[bool, str]]: results = [] - required = {"requests": "requests", "pymupdf": "fitz", "pillow": "PIL", "textual": "textual"} + required = {"requests": "requests", "pymupdf": "fitz", "pillow": "PIL"} for package, import_name in required.items(): try: __import__(import_name)