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',
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
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 = []
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')
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: