</button>
</div>
</div>
- {% if book.has_mp3_file %}
+ {% if book.has_audio %}
<div class="c-media__popup" data-popup="audiobook">
<div class="c-media__popup__box">
<div class="c-media__popup__box__lead">
<a href="{% url 'download_zip_mp3' book.slug %}" class="l-button l-button--media l-button--media--full">.mp3</a>
</div>
</div>
- {% if book.has_ogg_file %}
- <div class="c-media__popup__box__item">
- <div>
- <h3>OggVorbis</h3>
- <p>{% trans "Otwarty format plików audio, oferujący wysokiej jakości nagranie." %}</p>
- </div>
- <div>
- <a href="{% url 'download_zip_ogg' book.slug %}" class="l-button l-button--media l-button--media--full">.ogg</a>
- </div>
+ <div class="c-media__popup__box__item">
+ <div>
+ <h3>OggVorbis</h3>
+ <p>{% trans "Otwarty format plików audio, oferujący wysokiej jakości nagranie." %}</p>
</div>
- {% endif %}
+ <div>
+ <a href="{% url 'download_zip_ogg' book.slug %}" class="l-button l-button--media l-button--media--full">.ogg</a>
+ </div>
+ </div>
{% if book.has_daisy_file %}
<div class="c-media__popup__box__item">
<div>
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')