From b718c06a11f9bcb2b00b0655e728ff61b78aa402 Mon Sep 17 00:00:00 2001 From: randogoth Date: Mon, 12 Jun 2023 11:54:47 +0300 Subject: [PATCH] cmd help --- orvani/cmd.py | 70 +++++++++++++++++++++++++-------------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/orvani/cmd.py b/orvani/cmd.py index ecc2246..721ab47 100644 --- a/orvani/cmd.py +++ b/orvani/cmd.py @@ -65,45 +65,46 @@ def main(): console = Console() - command_help = """{add,a} FILE [CONTEXT ...] -{remove,rem,r} FILE [CONTEXT ...] + command_help = """{add,a} FILE CONTEXT # add context to an existing file +{remove,r} FILE CONTEXT # remove context from an existing file +{list,ls,l} QUERY # list all files with queried context in current directory tree -{copy,cp} SOURCE DEST -{move,mv} SOURCE DEST -{del,rm} FILE +{copy,cp} SOURCE DEST # copy file and its context to another directory +{move,mv} SOURCE DEST # move file and its context to another directory +{del,rm} FILE # delete file and its context -{clear,c} FILE -{clean} PATH +{clean,c} PATH # remove all context for nonexisting files +{purge,p} PATH # remove all context for all files in current directory tree -{list,ls,dir,l} QUERY -{listproj,lsprj} QUERY -{listcon,lsc} QUERY -{listtag,lst} QUERY +{write,w} PLUGIN FILE # write all context of a file to the file as metadata +{import,i} FILE # import context for files from a text file +{export,e} FILE # export context for files to a text file """ - p = argp(description="OrvaniTagger", formatter_class=raw) - p.add_argument("--not-recursive", "-nr", action="store_false", help="Include subdirectories in search") - p.add_argument("--no-file_operation", "-nf", action="store_false", help="Copy/Move/Delete file, not just context") - p.add_argument("--no-plugins", "-np", action="store_false", help="Don't use plug-ins to search file metadata") - p.add_argument("--path", "-p", action="store", type=str, help="List/search custom path", default='') - p.add_argument("--exact", "-e", action="store_true", help="Match exact search term") - p.add_argument("--files", "-f", action="store_true", help="Only show files, ignore folders") - p.add_argument("--dirs", "-d", action="store_true", help="Only show directories, ignore files") - p.add_argument("--either", "-or", action="store_true", help="Combine search terms by OR instead of AND") - p.add_argument("--cache", "-c", action="store_true", help="Cache index search (useful with deep directory trees)") - p.add_argument("--delete-cache", "-dc", action="store_true", help="Delete cache file") + p.add_argument("--not-recursive", "-nr", action="store_false", help="(list,clean,purge,export) Include subdirectories in search") + p.add_argument("--no-file-operation", "-nf", action="store_false", help="(copy,move,del) Skip file operation, just apply to context") + p.add_argument("--no-plugins", "-np", action="store_false", help="(list,export) Don't use plug-ins to search file metadata") + p.add_argument("--path", "-p", action="store", type=str, help="(list,export) Use custom path", default='') + p.add_argument("--exact", "-e", action="store_true", help="(list) Match exact search term") + p.add_argument("--files", "-f", action="store_true", help="(list) Only show files, ignore folders") + p.add_argument("--dirs", "-d", action="store_true", help="(list) Only show directories, ignore files") + p.add_argument("--either", "-or", action="store_true", help="(list) Combine search terms by OR instead of AND") + p.add_argument("--cache", "-c", action="store_true", help="(list) Cache index search (useful with deep directory trees)") + p.add_argument("--delete-cache", "-dc", action="store_true", help="(list) Delete cache file") p.add_argument("command", nargs="?", default=None, metavar='Command', help=command_help, type=str, choices=[ 'add', 'a', - 'remove', 'rem', 'r', - 'list', 'ls', 'dir', 'l', + 'remove', 'r', + 'list', 'ls', 'l', 'copy', 'cp', 'move', 'mv', 'del', 'rm', - 'clean', 'purge', - 'write', - 'import', 'export' + 'clean', 'c', + 'purge', 'p' + 'write', 'w', + 'import', 'i', + 'export', 'e' ]) p.add_argument("file", nargs="?", type=str, help=SUPPRESS) p.add_argument("context", nargs="*", type=str, help=SUPPRESS) @@ -111,7 +112,6 @@ def main(): args = p.parse_args() orvani = OrvaniTag() - orvani.ENABLE_PLUGINS = args.no_plugins try: @@ -123,7 +123,7 @@ def main(): elif fb[0] == 1: console.print(f":thinking_face: File [strong]{fb[1]}[/strong] doesn't exist.") - elif args.command in ['remove', 'rem', 'r']: + elif args.command in ['remove', 'r']: if args.file and args.context: fb = orvani.remove(args.file, *args.context) if fb[0] == 0: @@ -133,7 +133,7 @@ def main(): elif fb[0] == 2: console.print(f":mag: No match found for [white][strong]{fb[1]}[/strong][/white] and {nice_context(fb[2])}") - elif args.command in ['list', 'ls', 'dir', 'l']: + elif args.command in ['list', 'ls', 'l']: query = [args.file] + args.context if query: r = orvani.list(args.path, args.exact, args.either, args.not_recursive, args.cache, args.delete_cache, *query) @@ -186,7 +186,7 @@ def main(): console.print(f":mag: No entry for [strong]{fb[1]}[/strong] found.") - elif args.command in ['purge']: + elif args.command in ['purge', 'p']: def purge(path): target = Path(path) @@ -211,7 +211,7 @@ def main(): pp = os.path.join(root, dir) purge(pp) - elif args.command in ['clean']: + elif args.command in ['clean', 'c']: if not args.file: args.file = '' fb = orvani.clean(args.file, args.not_recursive) @@ -221,7 +221,7 @@ def main(): sub = ' and subdirectories' console.print(f':broom: {fb[2]} entries cleaned from [strong]{fb[1]}[/strong]{sub}') - elif args.command in ['write']: + elif args.command in ['write', 'w']: if args.file and args.context: fb = orvani.write(args.context[0], args.file) if fb[0] == 0: @@ -233,14 +233,14 @@ def main(): if fb[0] == 5: console.print(f':disappointed: Plugin [strong]{fb[1]}[/strong] can\'t write.') - elif args.command in ['export']: + elif args.command in ['export', 'e']: fb = orvani.export(args.file) if fb[0] == 0: console.print(f':floppy_disk: All entries successfully written to file [strong]{fb[1]}[/strong].') elif fb[0] == 2: console.print(f":mag: No entries found.") - elif args.command in ['import']: + elif args.command in ['import', 'i']: fb = orvani.load(args.file) if fb[0] == 0: