Do not use parents with argument subparsers.
This is a workaround for https://bugs.python.org/issue23058. As a result, the order of optional arguments is fixed; global options must be placed before the command.
This commit is contained in:
parent
139859ded3
commit
aad8b4377c
@ -754,7 +754,7 @@ def get_parser():
|
|||||||
epilog="Run 'electrum help <command>' to see the help for a command")
|
epilog="Run 'electrum help <command>' to see the help for a command")
|
||||||
subparsers = parser.add_subparsers(dest='cmd', metavar='<command>')
|
subparsers = parser.add_subparsers(dest='cmd', metavar='<command>')
|
||||||
# gui
|
# gui
|
||||||
parser_gui = subparsers.add_parser('gui', parents=[parent_parser], description="Run Electrum's Graphical User Interface.", help="Run GUI (default)")
|
parser_gui = subparsers.add_parser('gui', description="Run Electrum's Graphical User Interface.", help="Run GUI (default)")
|
||||||
parser_gui.add_argument("url", nargs='?', default=None, help="bitcoin URI (or bip70 file)")
|
parser_gui.add_argument("url", nargs='?', default=None, help="bitcoin URI (or bip70 file)")
|
||||||
#parser_gui.set_defaults(func=run_gui)
|
#parser_gui.set_defaults(func=run_gui)
|
||||||
parser_gui.add_argument("-g", "--gui", dest="gui", help="select graphical user interface", choices=['qt', 'kivy', 'text', 'stdio'])
|
parser_gui.add_argument("-g", "--gui", dest="gui", help="select graphical user interface", choices=['qt', 'kivy', 'text', 'stdio'])
|
||||||
@ -763,14 +763,14 @@ def get_parser():
|
|||||||
parser_gui.add_argument("-L", "--lang", dest="language", default=None, help="default language used in GUI")
|
parser_gui.add_argument("-L", "--lang", dest="language", default=None, help="default language used in GUI")
|
||||||
add_network_options(parser_gui)
|
add_network_options(parser_gui)
|
||||||
# daemon
|
# daemon
|
||||||
parser_daemon = subparsers.add_parser('daemon', parents=[parent_parser], help="Run Daemon")
|
parser_daemon = subparsers.add_parser('daemon', help="Run Daemon")
|
||||||
parser_daemon.add_argument("subcommand", choices=['start', 'status', 'stop'], nargs='?')
|
parser_daemon.add_argument("subcommand", choices=['start', 'status', 'stop'], nargs='?')
|
||||||
#parser_daemon.set_defaults(func=run_daemon)
|
#parser_daemon.set_defaults(func=run_daemon)
|
||||||
add_network_options(parser_daemon)
|
add_network_options(parser_daemon)
|
||||||
# commands
|
# commands
|
||||||
for cmdname in sorted(known_commands.keys()):
|
for cmdname in sorted(known_commands.keys()):
|
||||||
cmd = known_commands[cmdname]
|
cmd = known_commands[cmdname]
|
||||||
p = subparsers.add_parser(cmdname, parents=[parent_parser], help=cmd.help, description=cmd.description)
|
p = subparsers.add_parser(cmdname, help=cmd.help, description=cmd.description)
|
||||||
if cmdname == 'restore':
|
if cmdname == 'restore':
|
||||||
p.add_argument("-o", "--offline", action="store_true", dest="offline", default=False, help="Run offline")
|
p.add_argument("-o", "--offline", action="store_true", dest="offline", default=False, help="Run offline")
|
||||||
#p.set_defaults(func=run_cmdline)
|
#p.set_defaults(func=run_cmdline)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user