mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Allow creating sub-comman option parsers based on current arguments
This commit is contained in:
parent
4b09406136
commit
69e8cdd749
@ -204,7 +204,7 @@ def do_add(
|
|||||||
sys.stdout = orig
|
sys.stdout = orig
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
parser = get_parser(
|
parser = get_parser(
|
||||||
_(
|
_(
|
||||||
'''\
|
'''\
|
||||||
|
@ -13,7 +13,7 @@ def implementation(db, notify_changes, *args):
|
|||||||
is_remote
|
is_remote
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ def implementation(db, notify_changes, book_id, data, fmt, replace):
|
|||||||
return added
|
return added
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
parser = get_parser(
|
parser = get_parser(
|
||||||
_(
|
_(
|
||||||
'''\
|
'''\
|
||||||
|
@ -13,7 +13,7 @@ def implementation(db, notify_changes, *args):
|
|||||||
is_remote
|
is_remote
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ def implementation(db, notify_changes, *args):
|
|||||||
is_remote
|
is_remote
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ def implementation(db, notify_changes, *args):
|
|||||||
is_remote
|
is_remote
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ def implementation(db, notify_changes, *args):
|
|||||||
is_remote
|
is_remote
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ def implementation(db, notify_changes, *args):
|
|||||||
is_remote
|
is_remote
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ def implementation(db, notify_changes, *args):
|
|||||||
is_remote
|
is_remote
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ def implementation(db, notify_changes, action, *args):
|
|||||||
db.copy_format_to(book_id, fmt, dest)
|
db.copy_format_to(book_id, fmt, dest)
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
parser = get_parser(
|
parser = get_parser(
|
||||||
_(
|
_(
|
||||||
'''\
|
'''\
|
||||||
|
@ -225,7 +225,7 @@ def do_list(
|
|||||||
print()
|
print()
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
parser = get_parser(
|
parser = get_parser(
|
||||||
_(
|
_(
|
||||||
'''\
|
'''\
|
||||||
|
@ -13,7 +13,7 @@ def implementation(db, notify_changes, *args):
|
|||||||
is_remote
|
is_remote
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ def implementation(db, notify_changes, ids, permanent):
|
|||||||
notify_changes(books_deleted(ids))
|
notify_changes(books_deleted(ids))
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
p = get_parser(
|
p = get_parser(
|
||||||
_(
|
_(
|
||||||
'''\
|
'''\
|
||||||
|
@ -13,7 +13,7 @@ def implementation(db, notify_changes, *args):
|
|||||||
is_remote
|
is_remote
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ def implementation(db, notify_changes, book_id, fmt):
|
|||||||
notify_changes(formats_removed(fmt_map))
|
notify_changes(formats_removed(fmt_map))
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
return get_parser(
|
return get_parser(
|
||||||
_(
|
_(
|
||||||
'''
|
'''
|
||||||
|
@ -13,7 +13,7 @@ def implementation(db, notify_changes, *args):
|
|||||||
is_remote
|
is_remote
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ def implementation(db, notify_changes, *args):
|
|||||||
is_remote
|
is_remote
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ def implementation(db, notify_changes, *args):
|
|||||||
is_remote
|
is_remote
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ def implementation(db, notify_changes, *args):
|
|||||||
is_remote
|
is_remote
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ def implementation(db, notify_changes, action, *args):
|
|||||||
return db.get_metadata(book_id)
|
return db.get_metadata(book_id)
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
parser = get_parser(
|
parser = get_parser(
|
||||||
_(
|
_(
|
||||||
'''
|
'''
|
||||||
|
@ -21,7 +21,7 @@ def implementation(db, notify_changes, book_id):
|
|||||||
return db.get_metadata(book_id)
|
return db.get_metadata(book_id)
|
||||||
|
|
||||||
|
|
||||||
def option_parser(get_parser):
|
def option_parser(get_parser, args):
|
||||||
parser = get_parser(
|
parser = get_parser(
|
||||||
_(
|
_(
|
||||||
'''
|
'''
|
||||||
|
@ -27,10 +27,10 @@ COMMANDS = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def option_parser_for(cmd):
|
def option_parser_for(cmd, args=()):
|
||||||
|
|
||||||
def cmd_option_parser():
|
def cmd_option_parser():
|
||||||
return module_for_cmd(cmd).option_parser(get_parser)
|
return module_for_cmd(cmd).option_parser(get_parser, args)
|
||||||
|
|
||||||
return cmd_option_parser
|
return cmd_option_parser
|
||||||
|
|
||||||
@ -239,7 +239,7 @@ def main(args=sys.argv):
|
|||||||
parser.print_help()
|
parser.print_help()
|
||||||
return 1
|
return 1
|
||||||
del args[i]
|
del args[i]
|
||||||
parser = option_parser_for(cmd)()
|
parser = option_parser_for(cmd, args)()
|
||||||
opts, args = parser.parse_args(args)
|
opts, args = parser.parse_args(args)
|
||||||
return run_cmd(cmd, opts, args[1:], DBCtx(opts))
|
return run_cmd(cmd, opts, args[1:], DBCtx(opts))
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user