mirror of
https://github.com/RicterZ/nhentai.git
synced 2025-04-20 02:41:19 +02:00
fix for issue #236
This commit is contained in:
parent
443fcdc7da
commit
61945a6e97
@ -106,6 +106,8 @@ def cmd_parser():
|
||||
help='remove downloaded doujinshi dir when generated CBZ or PDF file.')
|
||||
parser.add_option('--meta', dest='generate_metadata', action='store_true',
|
||||
help='generate a metadata file in doujinshi format')
|
||||
parser.add_option('--regenerate-cbz', dest='regenerate_cbz', action='store_true', default=False,
|
||||
help='regenerate the cbz file if exists')
|
||||
|
||||
# nhentai options
|
||||
parser.add_option('--cookie', type='str', dest='cookie', action='store',
|
||||
|
@ -91,7 +91,7 @@ def main():
|
||||
for doujinshi in doujinshi_list:
|
||||
if not options.dryrun:
|
||||
doujinshi.downloader = downloader
|
||||
doujinshi.download()
|
||||
doujinshi.download(regenerate_cbz=options.regenerate_cbz)
|
||||
|
||||
if options.generate_metadata:
|
||||
table = doujinshi.table
|
||||
|
@ -72,7 +72,7 @@ class Doujinshi(object):
|
||||
|
||||
logger.info(u'Print doujinshi information of {0}\n{1}'.format(self.id, tabulate(self.table)))
|
||||
|
||||
def download(self):
|
||||
def download(self, regenerate_cbz=False):
|
||||
logger.info('Starting to download doujinshi: %s' % self.name)
|
||||
if self.downloader:
|
||||
download_queue = []
|
||||
@ -82,7 +82,7 @@ class Doujinshi(object):
|
||||
for i in range(1, min(self.pages, len(self.ext)) + 1):
|
||||
download_queue.append('%s/%d/%d.%s' % (IMAGE_URL, int(self.img_id), i, self.ext[i - 1]))
|
||||
|
||||
self.downloader.download(download_queue, self.filename)
|
||||
self.downloader.download(download_queue, self.filename, regenerate_cbz=regenerate_cbz)
|
||||
else:
|
||||
logger.critical('Downloader has not been loaded')
|
||||
|
||||
|
@ -113,13 +113,18 @@ class Downloader(Singleton):
|
||||
else:
|
||||
logger.log(15, '{0} downloaded successfully'.format(data))
|
||||
|
||||
def download(self, queue, folder=''):
|
||||
def download(self, queue, folder='', regenerate_cbz=False):
|
||||
if not isinstance(folder, text):
|
||||
folder = str(folder)
|
||||
|
||||
if self.path:
|
||||
folder = os.path.join(self.path, folder)
|
||||
|
||||
if os.path.exists(folder + '.cbz'):
|
||||
if not regenerate_cbz:
|
||||
logger.warning('CBZ file \'{}.cbz\' exists, ignored download request'.format(folder))
|
||||
return
|
||||
|
||||
if not os.path.exists(folder):
|
||||
logger.warning('Path \'{0}\' does not exist, creating.'.format(folder))
|
||||
try:
|
||||
|
Loading…
x
Reference in New Issue
Block a user