From 9f2f57248b5d6cbbdb710d5922e6e642971aaadc Mon Sep 17 00:00:00 2001 From: Alocks Date: Tue, 22 Oct 2019 14:14:50 -0300 Subject: [PATCH] Added commands in README and fixer parser --- README.rst | 22 ++++++++++++++++++++++ nhentai/parser.py | 21 +++++++++++++++------ 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/README.rst b/README.rst index 9c767e0..94c1625 100644 --- a/README.rst +++ b/README.rst @@ -74,6 +74,28 @@ Download by tag name: nhentai --tag lolicon --download --page=2 +.. code-block:: bash + + nhentai --artist henreader --download + +.. code-block:: bash + + nhentai --character kuro von einsbern --download + +.. code-block:: bash + + nhentai --parody the idolmaster --download + +.. code-block:: bash + + nhentai --group clesta --download + +Download with multiple tags (--tag, --character, --paordy and --group supported): + +.. code-block:: bash + + nhentai --tag lolicon, teasing --artist tamano kedama, atte nanakusa + Download your favorites with delay: .. code-block:: bash diff --git a/nhentai/parser.py b/nhentai/parser.py index 9b9232b..59c71ff 100644 --- a/nhentai/parser.py +++ b/nhentai/parser.py @@ -189,19 +189,28 @@ def print_doujinshi(doujinshi_list): tabulate(tabular_data=doujinshi_list, headers=headers, tablefmt='rst')) -def tag_parser(tag_name, sorting='date', max_page=1): +def tag_parser(tag_name, sorting='date', max_page=1, index=0): result = [] tag_name = tag_name.lower() - tag_name = tag_name.replace(' ', '-') - + if ',' in tag_name: + tag_name = [i.strip().replace(' ', '-') for i in tag_name.split(',')] + else: + tag_name = tag_name.replace(' ', '-') if sorting == 'date': sorting = '' for p in range(1, max_page + 1): - logger.debug('Fetching page {0} for doujinshi with tag \'{1}\''.format(p, tag_name)) - response = request('get', url='%s/%s/%s?page=%d' % (constant.TAG_URL, tag_name, sorting, p)).content + if isinstance(tag_name, str): + logger.debug('Fetching page {0} for doujinshi with tag \'{1}\''.format(p, tag_name)) + response = request('get', url='%s/%s/%s?page=%d' % (constant.TAG_URL[index], tag_name, sorting, p)).content + result += _get_title_and_id(response) + else: + for i in tag_name: + logger.debug('Fetching page {0} for doujinshi with tag \'{1}\''.format(p, i)) + response = request('get', + url='%s/%s/%s?page=%d' % (constant.TAG_URL[index], i, sorting, p)).content + result += _get_title_and_id(response) - result += _get_title_and_id(response) if not result: logger.error('Cannot find doujinshi id of tag \'{0}\''.format(tag_name)) return