mirror of
https://github.com/RicterZ/nhentai.git
synced 2025-04-20 02:41:19 +02:00
add --no-filename-padding
options to fix #381
This commit is contained in:
parent
571fba2259
commit
fc69f94505
@ -109,6 +109,9 @@ def cmd_parser():
|
|||||||
help='format the saved folder name', default='[%i][%a][%t]')
|
help='format the saved folder name', default='[%i][%a][%t]')
|
||||||
parser.add_option('--dry-run', action='store_true', dest='dryrun', help='Dry run, skip file download')
|
parser.add_option('--dry-run', action='store_true', dest='dryrun', help='Dry run, skip file download')
|
||||||
|
|
||||||
|
parser.add_option('--no-filename-padding', action='store_true', dest='no_filename_padding',
|
||||||
|
default=False, help='no padding in the images filename, such as \'001.jpg\'')
|
||||||
|
|
||||||
# generate options
|
# generate options
|
||||||
parser.add_option('--html', dest='html_viewer', action='store_true',
|
parser.add_option('--html', dest='html_viewer', action='store_true',
|
||||||
help='generate a html viewer at current directory')
|
help='generate a html viewer at current directory')
|
||||||
|
@ -86,7 +86,8 @@ def main():
|
|||||||
if not options.is_show:
|
if not options.is_show:
|
||||||
downloader = Downloader(path=options.output_dir, threads=options.threads,
|
downloader = Downloader(path=options.output_dir, threads=options.threads,
|
||||||
timeout=options.timeout, delay=options.delay,
|
timeout=options.timeout, delay=options.delay,
|
||||||
retry=options.retry, exit_on_fail=options.exit_on_fail)
|
retry=options.retry, exit_on_fail=options.exit_on_fail,
|
||||||
|
no_filename_padding=options.no_filename_padding)
|
||||||
|
|
||||||
for doujinshi_id in doujinshi_ids:
|
for doujinshi_id in doujinshi_ids:
|
||||||
doujinshi_info = doujinshi_parser(doujinshi_id)
|
doujinshi_info = doujinshi_parser(doujinshi_id)
|
||||||
|
@ -34,7 +34,8 @@ def download_callback(result):
|
|||||||
|
|
||||||
|
|
||||||
class Downloader(Singleton):
|
class Downloader(Singleton):
|
||||||
def __init__(self, path='', threads=5, timeout=30, delay=0, retry=3, exit_on_fail=False):
|
def __init__(self, path='', threads=5, timeout=30, delay=0, retry=3, exit_on_fail=False,
|
||||||
|
no_filename_padding=False):
|
||||||
self.threads = threads
|
self.threads = threads
|
||||||
self.path = str(path)
|
self.path = str(path)
|
||||||
self.timeout = timeout
|
self.timeout = timeout
|
||||||
@ -43,6 +44,7 @@ class Downloader(Singleton):
|
|||||||
self.exit_on_fail = exit_on_fail
|
self.exit_on_fail = exit_on_fail
|
||||||
self.folder = None
|
self.folder = None
|
||||||
self.semaphore = None
|
self.semaphore = None
|
||||||
|
self.no_filename_padding = no_filename_padding
|
||||||
|
|
||||||
async def fiber(self, tasks):
|
async def fiber(self, tasks):
|
||||||
self.semaphore = asyncio.Semaphore(self.threads)
|
self.semaphore = asyncio.Semaphore(self.threads)
|
||||||
@ -70,7 +72,11 @@ class Downloader(Singleton):
|
|||||||
|
|
||||||
filename = filename if filename else os.path.basename(urlparse(url).path)
|
filename = filename if filename else os.path.basename(urlparse(url).path)
|
||||||
base_filename, extension = os.path.splitext(filename)
|
base_filename, extension = os.path.splitext(filename)
|
||||||
|
|
||||||
|
if not self.no_filename_padding:
|
||||||
filename = base_filename.zfill(length) + extension
|
filename = base_filename.zfill(length) + extension
|
||||||
|
else:
|
||||||
|
filename = base_filename + extension
|
||||||
|
|
||||||
save_file_path = os.path.join(self.folder, filename)
|
save_file_path = os.path.join(self.folder, filename)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user