From e1457aadd30f53f4d50d6c4828d517355c09b8ae Mon Sep 17 00:00:00 2001 From: lilydjwg Date: Wed, 21 Aug 2013 17:37:49 +0800 Subject: [PATCH] rearrange argument parsing --- nvchecker/main.py | 23 +++++------------------ nvchecker/tools.py | 9 +-------- nvchecker/util.py | 26 ++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 26 deletions(-) create mode 100644 nvchecker/util.py diff --git a/nvchecker/main.py b/nvchecker/main.py index c176566..ee41948 100755 --- a/nvchecker/main.py +++ b/nvchecker/main.py @@ -11,10 +11,10 @@ from functools import partial from pkg_resources import parse_version from tornado.ioloop import IOLoop -from .lib import notify, nicelogger +from .lib import notify from .get_version import get_version -from . import __version__ +from . import util logger = logging.getLogger(__name__) notifications = [] @@ -91,26 +91,13 @@ def main(): parser = argparse.ArgumentParser(description='New version checker for software') parser.add_argument('files', metavar='FILE', nargs='*', help='software version source files') - parser.add_argument('-i', '--oldver', - help='read an existing version record file') - parser.add_argument('-o', '--newver', - help='write a new version record file') - # parser.add_argument('-r', '--rc', default=os.path.expanduser('~/.nvcheckerrc'), - # help='specify the nvcheckerrc file to use') parser.add_argument('-n', '--notify', action='store_true', default=False, help='show desktop notifications when a new version is available') - parser.add_argument('-l', '--logging', - choices=('debug', 'info', 'warning', 'error'), default='info', - help='logging level (default: info)') - parser.add_argument('-V', '--version', action='store_true', - help='show version and exit') + util.add_common_arguments(parser) args = parser.parse_args() - nicelogger.enable_pretty_logging(getattr(logging, args.logging.upper())) - - if args.version: - print('nvchecker v' + __version__) - return + if util.process_common_arguments(args): + return if not args.files: return diff --git a/nvchecker/tools.py b/nvchecker/tools.py index bb3523f..2dfa97f 100644 --- a/nvchecker/tools.py +++ b/nvchecker/tools.py @@ -1,13 +1,6 @@ # vim:fileencoding=utf-8 -from tornado.options import parse_command_line, define, options +import argparse def take(): raise NotImplementedError - -define("notify", type=bool, - help="show desktop notifications when a new version is available") -define("oldverfile", type=str, metavar="FILE", - help="a text file listing current version info in format 'name: version'") -define("verfile", type=str, metavar="FILE", - help="write a new version file") diff --git a/nvchecker/util.py b/nvchecker/util.py new file mode 100644 index 0000000..1c5d7ae --- /dev/null +++ b/nvchecker/util.py @@ -0,0 +1,26 @@ +import logging + +from .lib import nicelogger + +from . import __version__ + +def add_common_arguments(parser): + parser.add_argument('-i', '--oldver', + help='read an existing version record file') + parser.add_argument('-o', '--newver', + help='write a new version record file') + # parser.add_argument('-r', '--rc', default=os.path.expanduser('~/.nvcheckerrc'), + # help='specify the nvcheckerrc file to use') + parser.add_argument('-l', '--logging', + choices=('debug', 'info', 'warning', 'error'), default='info', + help='logging level (default: info)') + parser.add_argument('-V', '--version', action='store_true', + help='show version and exit') + +def process_common_arguments(args): + '''return True if should stop''' + nicelogger.enable_pretty_logging(getattr(logging, args.logging.upper())) + + if args.version: + print('nvchecker v' + __version__) + return True