From f6e9da9c5ae48e646fc4576fbe4d454820c2a2c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Borgstr=C3=B6m?= Date: Wed, 26 Jun 2013 21:20:31 +0200 Subject: [PATCH] Fix argparse py33 issue --- darc/archiver.py | 9 ++++----- darc/testsuite/archiver.py | 4 ++++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/darc/archiver.py b/darc/archiver.py index ba55e17fb..db4b78fd5 100644 --- a/darc/archiver.py +++ b/darc/archiver.py @@ -16,7 +16,7 @@ from .helpers import location_validator, format_time, \ from .remote import RepositoryServer, RemoteRepository -class Archiver(object): +class Archiver: def __init__(self): self.exit_code = 0 @@ -294,7 +294,7 @@ class Archiver(object): default=False, help='Verbose output') - parser = argparse.ArgumentParser(description='DARC - Deduplicating Archiver') + parser = argparse.ArgumentParser(description='Darc - Deduplicating Archiver') subparsers = parser.add_subparsers(title='Available subcommands') subparser = subparsers.add_parser('serve', parents=[common_parser]) @@ -405,8 +405,7 @@ class Archiver(object): subparser.add_argument('repository', metavar='REPOSITORY', type=location_validator(archive=False), help='Repository to prune') - - args = parser.parse_args(args) + args = parser.parse_args(args or ['-h']) if getattr(args, 'patterns', None): adjust_patterns(args.patterns) self.verbose = args.verbose @@ -416,7 +415,7 @@ class Archiver(object): def main(): archiver = Archiver() try: - exit_code = archiver.run() + exit_code = archiver.run(sys.argv[1:]) except Repository.DoesNotExist: archiver.print_error('Error: Repository not found') exit_code = 1 diff --git a/darc/testsuite/archiver.py b/darc/testsuite/archiver.py index f34c1bacd..c64ce8572 100644 --- a/darc/testsuite/archiver.py +++ b/darc/testsuite/archiver.py @@ -196,6 +196,10 @@ class ArchiverTestCase(DarcTestCase): assert 'test1' not in output assert 'test2' in output + def test_usage(self): + self.assert_raises(SystemExit, lambda: self.darc()) + self.assert_raises(SystemExit, lambda: self.darc('-h')) + class RemoteArchiverTestCase(ArchiverTestCase): prefix = 'localhost:'