features-42
deadc0de6 4 months ago
parent 638085ce98
commit 6164930088

@ -11,8 +11,8 @@ Catcli command line interface
import sys import sys
import os import os
import datetime import datetime
from typing import Dict, Any, List from typing import Dict, Any, List, \
import typing Tuple
from docopt import docopt from docopt import docopt
import cmd2 import cmd2
@ -297,14 +297,13 @@ def cmd_edit(args: Dict[str, Any],
Logger.err(f'Storage named \"{storage}\" does not exist') Logger.err(f'Storage named \"{storage}\" does not exist')
@typing.no_type_check class CatcliRepl(cmd2.Cmd): # type: ignore
class CatcliRepl(cmd2.Cmd):
"""catcli repl""" """catcli repl"""
prompt = 'catcli> ' prompt = 'catcli> '
intro = '' intro = ''
def __init__(self): def __init__(self) -> None:
super().__init__() super().__init__()
# remove built-ins # remove built-ins
del cmd2.Cmd.do_alias del cmd2.Cmd.do_alias
@ -317,11 +316,11 @@ class CatcliRepl(cmd2.Cmd):
del cmd2.Cmd.do_shortcuts del cmd2.Cmd.do_shortcuts
self.hidden_commands.append('EOF') self.hidden_commands.append('EOF')
def cmdloop(self, intro=None): def cmdloop(self, intro: Any = None) -> Any:
return cmd2.Cmd.cmdloop(self, intro) return cmd2.Cmd.cmdloop(self, intro)
@cmd2.with_argument_list @cmd2.with_argument_list # type: ignore
def do_ls(self, arglist: List[str]): def do_ls(self, arglist: List[str]) -> bool:
"""ls <path>""" """ls <path>"""
arglist.insert(0, '--no-banner') arglist.insert(0, '--no-banner')
arglist.insert(0, 'ls') arglist.insert(0, 'ls')
@ -329,37 +328,40 @@ class CatcliRepl(cmd2.Cmd):
cmd_ls(args, noder, top) cmd_ls(args, noder, top)
return False return False
@cmd2.with_argument_list @cmd2.with_argument_list # type: ignore
def do_tree(self, arglist): def do_tree(self, arglist: List[str]) -> bool:
"""tree <path>""" """tree <path>"""
arglist.insert(0, '--no-banner') arglist.insert(0, '--no-banner')
arglist.insert(0, 'tree') arglist.insert(0, 'tree')
args, noder, _, _, top = init(arglist) args, noder, _, _, top = init(arglist)
cmd_ls(args, noder, top) cmd_ls(args, noder, top)
return False
@cmd2.with_argument_list @cmd2.with_argument_list # type: ignore
def do_find(self, arglist): def do_find(self, arglist: List[str]) -> bool:
"""find <term>""" """find <term>"""
arglist.insert(0, '--no-banner') arglist.insert(0, '--no-banner')
arglist.insert(0, 'find') arglist.insert(0, 'find')
args, noder, _, _, top = init(arglist) args, noder, _, _, top = init(arglist)
cmd_find(args, noder, top) cmd_find(args, noder, top)
return False
@cmd2.with_argument_list @cmd2.with_argument_list # type: ignore
def do_du(self, arglist): def do_du(self, arglist: List[str]) -> bool:
"""du <path>""" """du <path>"""
arglist.insert(0, '--no-banner') arglist.insert(0, '--no-banner')
arglist.insert(0, 'du') arglist.insert(0, 'du')
args, noder, _, _, top = init(arglist) args, noder, _, _, top = init(arglist)
cmd_du(args, noder, top) cmd_du(args, noder, top)
return False
def do_help(self, _): def do_help(self, _: Any) -> bool:
"""help""" """help"""
print(USAGE) print(USAGE)
return False return False
# pylint: disable=C0103 # pylint: disable=C0103
def do_EOF(self, _): def do_EOF(self, _: Any) -> bool:
"""exit repl""" """exit repl"""
return True return True
@ -379,9 +381,13 @@ def print_supported_formats() -> None:
print('"fzf-csv" : fzf to csv (only valid for find)') print('"fzf-csv" : fzf to csv (only valid for find)')
def init(args): def init(argv: List[str]) -> Tuple[Dict[str, Any],
Noder,
Catalog,
str,
NodeTop]:
"""parse catcli arguments""" """parse catcli arguments"""
args = docopt(USAGE, argv=args, version=VERSION) args = docopt(USAGE, argv=argv, version=VERSION)
if args['help'] or args['--help']: if args['help'] or args['--help']:
print(USAGE) print(USAGE)
@ -435,7 +441,7 @@ def main() -> bool:
try: try:
if args['index']: if args['index']:
cmd_index(args, noder, catalog, top) cmd_index(args, noder, catalog, top)
if args['update']: elif args['update']:
if not catalog.exists(): if not catalog.exists():
Logger.err(f'no such catalog: {catalog_path}') Logger.err(f'no such catalog: {catalog_path}')
return False return False

Loading…
Cancel
Save