X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/ba566bebbc9d89088ca6812360b29149f1e93314..89881ffd8c2da92f115f23b002f48b7e626014d0:/src/catalogue/views.py diff --git a/src/catalogue/views.py b/src/catalogue/views.py index 8bb86c282..8d32e64ee 100644 --- a/src/catalogue/views.py +++ b/src/catalogue/views.py @@ -534,12 +534,19 @@ def stream_zip(request, media_format=None, slug=None): zs = ZipStream() + audiobook_list = list(iterate_audiobooks(book, ())) + licenses = set() - for i, (file_path, lic, names) in enumerate(iterate_audiobooks(book, ())): + for i, (file_path, lic, names) in enumerate(audiobook_list): index = i + 1 part_name = '_'.join(names) + if part_name: + part_name = '_' + part_name ext = file_path.rsplit('.', 1)[-1] - zip_name = f'{book.slug}_{index:03d}_{part_name}'[:240] + '.' + ext + if len(audiobook_list) > 1: + zip_name = f'{book.slug}_{index:03d}{part_name}'[:240] + '.' + ext + else: + zip_name = book.slug[:240] + '.' + ext zs.add_path(file_path, zip_name) lic_name = constants.LICENSES.get(lic, {}).get('locative')