Implement CLI: walk parent directory, --dry-run, --verbose #9
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The sub2pod CLI entry point (src/sub2pod/cli.py) is currently a skeleton with an empty cyclopts App. This issue tracks wiring it up to the existing business logic.
The CLI should:
Findings
All business logic is already complete and tested:
The full pipeline from directory → feed.xml is already exercised in test_feed.py.
Plan of attack
Signature — cyclopts v4.x: non-keyword-only params become positional args, keyword-only (after
*) become flags:Logic:
parent_dirthat containtvshow.nfoTests (TDD — tests written before implementation):
--dry-runprints path, does not write file--verboselists episode titles in stdout--dry-run + --verbosecompose correctlyBranch:
feat/issue-9-cliCommits:
:white_check_mark: add failing tests for Phase 5 CLI:sparkles: implement CLI — parent dir walk, --dry-run, --verbose:memo: mark Phase 5 items complete in ROADMAP.mdFindings
All business logic is already complete and tested:
parse_channel_nfo(path) -> ChannelInfoin nfo.pydiscover_episodes(channel_dir) -> list[Episode]in discovery.pywrite_feed(channel_dir, channel_info, episodes, base_url) -> Pathin feed.pyThe full pipeline from directory -> feed.xml is already exercised in test_feed.py.
Plan of attack
Signature — cyclopts v4.x: non-keyword-only params become positional args, keyword-only (after
*) become flags:Logic:
parent_dirthat containtvshow.nfoTests (TDD — tests written before implementation):
--dry-runprints path, does not write file--verboselists episode titles in stdout--dry-run + --verbosecompose correctlyBranch:
feat/issue-9-cliCommits:
:white_check_mark: add failing tests for Phase 5 CLI:sparkles: implement CLI — parent dir walk, --dry-run, --verbose:memo: mark Phase 5 items complete in ROADMAP.md