Treat addfile arguments as glob patterns.

This commit is contained in:
Ethan Dalool 2019-12-30 13:50:05 -08:00
parent f29677d4e0
commit 261faf66ae

View file

@ -1222,18 +1222,19 @@ def random_string(length, characters=string.ascii_lowercase):
def addfile_argparse(args): def addfile_argparse(args):
book = Epub.open(args.epub) book = Epub.open(args.epub)
for file in args.files: for pattern in args.files:
print(f'Adding file {file}.') for file in glob.glob(pattern):
file = pathclass.Path(file) print(f'Adding file {file}.')
try: file = pathclass.Path(file)
book.easy_add_file(file) try:
except (IDExists, FileExists) as exc: book.easy_add_file(file)
rand_suffix = random_string(3, string.digits) except (IDExists, FileExists) as exc:
base = file.replace_extension('').basename rand_suffix = random_string(3, string.digits)
id = f'{base}_{rand_suffix}' base = file.replace_extension('').basename
basename = f'{base}_{rand_suffix}{file.dot_extension}' id = f'{base}_{rand_suffix}'
content = open(file.absolute_path, 'rb').read() basename = f'{base}_{rand_suffix}{file.dot_extension}'
book.add_file(id, basename, content) content = open(file.absolute_path, 'rb').read()
book.add_file(id, basename, content)
book.move_nav_to_end() book.move_nav_to_end()
book.save(args.epub) book.save(args.epub)