From 594a99ba9df23b65f1819bc6f0c0cd04db15ff89 Mon Sep 17 00:00:00 2001 From: Ruslan Kuprieiev Date: Wed, 13 Jun 2018 21:43:45 +0300 Subject: [PATCH] cli: fix `dvc remote` bug on python3 Fixes #769 Signed-off-by: Ruslan Kuprieiev --- dvc/cli.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/dvc/cli.py b/dvc/cli.py index b40c51ed1..97d0c0f3f 100644 --- a/dvc/cli.py +++ b/dvc/cli.py @@ -23,6 +23,16 @@ from dvc.stage import Stage from dvc import VERSION +def _fix_subparsers(subparsers): + # NOTE: Workaround for bug in Python 3 + # More info at: + # https://bugs.python.org/issue16308 + # https://github.com/iterative/dvc/issues/769 + if sys.version_info[0] == 3: + subparsers.required = True + subparsers.dest = 'cmd' + + def parse_args(argv=None): # Common args parent_parser = argparse.ArgumentParser(add_help=False) @@ -58,10 +68,7 @@ def parse_args(argv=None): dest='cmd', help='Use dvc CMD --help for command-specific help') - # NOTE: Workaround for bug in Python 3 - if sys.version_info[0] == 3: - subparsers.required = True - subparsers.dest = 'cmd' + _fix_subparsers(subparsers) # Init init_parser = subparsers.add_parser( @@ -283,6 +290,8 @@ def parse_args(argv=None): dest='cmd', help='Use dvc remote CMD --help for command-specific help') + _fix_subparsers(remote_subparsers) + remote_add_parser = remote_subparsers.add_parser( 'add', parents=[parent_parser],