From: Kyle Bowman Date: Sat, 25 Jan 2025 15:58:27 +0000 (-0500) Subject: refactor: merge cli into main X-Git-Url: https://git.rocketbowman.com/?a=commitdiff_plain;h=79172ac3a0ac4e96fabb7fc619fc72b13e169410;p=nom.git refactor: merge cli into main --- diff --git a/src/nom/cli.py b/src/nom/cli.py deleted file mode 100644 index a3e7d1a..0000000 --- a/src/nom/cli.py +++ /dev/null @@ -1,19 +0,0 @@ -from argparse import ArgumentParser - - -def cli(): - parser = ArgumentParser(description="Nom Script") - subparsers = parser.add_subparsers(dest='command', help='Sub-command help') - - # Entry subcommand - entry_parser = subparsers.add_parser('entry', help='Entry related commands') - entry_subparsers = entry_parser.add_subparsers(dest='entry_command', help='Entry sub-command help') - entry_show_parser = entry_subparsers.add_parser('show', help='Show entries') - - # Feed subcommand - feed_parser = subparsers.add_parser('feed', help='Feed related commands') - feed_subparsers = feed_parser.add_subparsers(dest='feed_command', help='Feed sub-command help') - feed_update_parser = feed_subparsers.add_parser('update', help='Update feed') - feed_update_parser = feed_subparsers.add_parser('show', help='Show feeds') - - return parser diff --git a/src/nom/main.py b/src/nom/main.py index de5fbe0..f0e625e 100644 --- a/src/nom/main.py +++ b/src/nom/main.py @@ -1,21 +1,39 @@ +from argparse import ArgumentParser from pathlib import Path import sys from nom.utils import url2filename, NomError from nom.feed import Feed, FeedList from nom.entry import EntryList -from nom.cli import cli # Globals. Sue me. FEED_CACHE=Path.home() / ".cache" / "nom" / "feeds" FEED_LIST=Path.home() / ".local" / "share" / "nom" / "feedlist" / "default" -# TODO: Flesh out CLI. + +def cli(): + parser = ArgumentParser(description="Nom Script") + subparsers = parser.add_subparsers(dest='command', help='Sub-command help') + + # Entry subcommand + entry_parser = subparsers.add_parser('entry', help='Entry related commands') + entry_subparsers = entry_parser.add_subparsers(dest='entry_command', help='Entry sub-command help') + entry_show_parser = entry_subparsers.add_parser('show', help='Show entries') + + # Feed subcommand + feed_parser = subparsers.add_parser('feed', help='Feed related commands') + feed_subparsers = feed_parser.add_subparsers(dest='feed_command', help='Feed sub-command help') + feed_update_parser = feed_subparsers.add_parser('update', help='Update feed') + feed_update_parser = feed_subparsers.add_parser('show', help='Show feeds') + + return parser + + def main(args=['nom'].append(sys.argv)): parser = cli() args = parser.parse_args(args=args) - # Direct Logic + # Dispatch Logic feedlist=FeedList.from_csv(FEED_LIST) if args.command == "entry" and args.entry_command == "show": elist=EntryList()