entry_update_parser.add_argument('--update', dest="updates", nargs="*", help="Update values as key=value pairs")
entry_update_parser.add_argument('--dry-run', action="store_true", help="when specified, show changes but don't act")
+ # Convenience Commands
+ entry_open_parser = entry_subparsers.add_parser("open", parents=[label_parser,filter_parser], help="lists selected urls for piping and marks viewed")
+ entry_open_parser.set_defaults(func=handle_entry_open)
+ entry_ignore_parser = entry_subparsers.add_parser("ignore", parents=[label_parser,filter_parser], help="marks selection viewed")
+ entry_ignore_parser.add_argument('--dry-run', action="store_true", help="when specified, show changes but don't act")
+ entry_ignore_parser.set_defaults(func=handle_entry_ignore)
+
# Feed subcommand
feed_parser = subparsers.add_parser('feed', help='Dispatches commands that operate on a table of feeds.')
feed_subparsers = feed_parser.add_subparsers(dest='feed_command', help='Dispatches feed commands.')
if e in sublist:
if not args.dry_run:
e.update(key,val)
- print(f"For {e.label}, updating {key} from {e.__dict__[key]} to {val}")
+ else:
+ print(f"For {e.label}, updating {key} from {e.__dict__[key]} to {val}")
else:
feedlist=FeedList.from_csv(FEED_LIST)
for flitem in feedlist:
print(f"Updating from [{str(flitem)}]")
elist.to_csv(ENTRY_LIST)
+def handle_entry_open(args):
+ args.show_header=False
+ args.delim="|"
+ args.fields=["url"]
+ handle_entry_show(args)
+ args.updates=["viewed=True"]
+ args.dry_run=False
+ handle_entry_update(args)
+
+def handle_entry_ignore(args):
+ args.updates=["viewed=True"]
+ handle_entry_update(args)
+
def handle_feed_show(args):
feedlist=FeedList.from_csv(FEED_LIST)
feedlist.to_stdout(show_header=True)
argv='entry update 1 --update url=https://path/to/new/url'.split(' ')
args = cli().parse_args(argv)
assert True
+
+# Passes on it's own. Fails as a suite...
+def test_nom_entry_open():
+ argtest("entry open 2")
+
+def test_nom_entry_ignore():
+ argtest("entry ignore 1 --dry-run")
\ No newline at end of file