From 3eacd118ed0139840dae4caf377c19728dab96f0 Mon Sep 17 00:00:00 2001 From: Ricter Z Date: Mon, 17 Oct 2016 21:00:28 +0800 Subject: [PATCH] change the way of download --- README.md | 4 ++-- nhentai/cmdline.py | 23 ++++++++++------------- nhentai/command.py | 15 ++++++--------- setup.cfg | 2 +- 4 files changed, 19 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 3ebca30..8d6ded0 100644 --- a/README.md +++ b/README.md @@ -21,13 +21,13 @@ nhentai + 下载指定 id 的本子: - nhentai --id=123855 --download + nhentai --id=123855 + 下载指定 id 列表的本子: - nhentai --ids=123855,123866 --download + nhentai --ids=123855,123866 + 下载某关键词第一页的本子(不推荐): diff --git a/nhentai/cmdline.py b/nhentai/cmdline.py index 64235a4..02c54da 100644 --- a/nhentai/cmdline.py +++ b/nhentai/cmdline.py @@ -23,13 +23,12 @@ def banner(): def cmd_parser(): parser = OptionParser() parser.add_option('--download', dest='is_download', action='store_true', help='download doujinshi or not') - parser.add_option('--id', type='int', dest='id', action='store', help='doujinshi id of nhentai') - parser.add_option('--ids', type='str', dest='ids', action='store', help='doujinshi id set, e.g. 1,2,3') + parser.add_option('--id', type='str', dest='id', action='store', help='doujinshi ids set, e.g. 1,2,3') parser.add_option('--search', type='string', dest='keyword', action='store', help='keyword searched') parser.add_option('--page', type='int', dest='page', action='store', default=1, help='page number of search result') - parser.add_option('--path', type='string', dest='saved_path', action='store', default='', - help='path which save the doujinshi') + parser.add_option('--output', type='string', dest='output_dir', action='store', default='', + help='output dir') parser.add_option('--threads', '-t', type='int', dest='threads', action='store', default=5, help='thread count of download doujinshi') parser.add_option('--timeout', type='int', dest='timeout', action='store', default=30, @@ -38,24 +37,22 @@ def cmd_parser(): help='use proxy, example: http://127.0.0.1:1080') args, _ = parser.parse_args() - if args.ids: - _ = map(lambda id: id.strip(), args.ids.split(',')) - args.ids = set(map(int, filter(lambda id: id.isdigit(), _))) + if args.id: + _ = map(lambda id: id.strip(), args.id.split(',')) + args.id = set(map(int, filter(lambda id: id.isdigit(), _))) - if args.is_download and not args.id and not args.ids and not args.keyword: - logger.critical('Doujinshi id/ids is required for downloading') + if args.is_download and not args.id and not args.keyword: + logger.critical('Doujinshi id(s) are required for downloading') parser.print_help() exit(0) - if args.id: - args.ids = (args.id, ) if not args.ids else args.ids - - if not args.keyword and not args.ids: + if not args.keyword and not args.id: parser.print_help() exit(0) if args.threads <= 0: args.threads = 1 + elif args.threads > 10: logger.critical('Maximum number of used threads is 10') exit(0) diff --git a/nhentai/command.py b/nhentai/command.py index b48fd65..2c8adc0 100644 --- a/nhentai/command.py +++ b/nhentai/command.py @@ -22,7 +22,7 @@ def main(): if options.is_download: doujinshi_ids = map(lambda d: d['id'], doujinshis) else: - doujinshi_ids = options.ids + doujinshi_ids = options.id if doujinshi_ids: for id in doujinshi_ids: @@ -31,14 +31,11 @@ def main(): else: exit(0) - if options.is_download: - downloader = Downloader(path=options.saved_path, - thread=options.threads, timeout=options.timeout) - for doujinshi in doujinshi_list: - doujinshi.downloader = downloader - doujinshi.download() - else: - map(lambda doujinshi: doujinshi.show(), doujinshi_list) + downloader = Downloader(path=options.output_dir, + thread=options.threads, timeout=options.timeout) + for doujinshi in doujinshi_list: + doujinshi.downloader = downloader + doujinshi.download() logger.log(15, u'🍺 All done.') diff --git a/setup.cfg b/setup.cfg index 04f6b82..8c28267 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,3 +1,3 @@ [metadata] -description-file = README.rst +description-file = README.md