mirror of
https://github.com/janeczku/calibre-web
synced 2024-11-24 18:47:23 +00:00
Add GUI functions for ebookconvert any format feature
This commit is contained in:
parent
f6ab724020
commit
e160efbdac
@ -124,13 +124,29 @@
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% if g.user.role_upload() or g.user.role_admin()%}
|
||||
{% if g.allow_upload %}
|
||||
<div role="group" aria-label="Upload new book format">
|
||||
<label class="btn btn-default btn-file" for="btn-upload-format">{{ _('Upload format') }}</label>
|
||||
|
||||
<div class="btn-group" role="group" aria-label="New Book Formats">
|
||||
<label class="btn btn-primary btn-file" for="btn-upload-format"><span class="glyphicon glyphicon-upload"></span> {{ _('Upload format') }}</label>
|
||||
<div class="upload-format-input-text" id="upload-format"></div>
|
||||
<input id="btn-upload-format" name="btn-upload-format" type="file">
|
||||
|
||||
{% if display_convertbtn and conversion_formats|length > 0 %}
|
||||
<button id="btnGroupConv" type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<span class="glyphicon glyphicon-duplicate"></span> {{_('Convert to book format:')}}
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu" aria-labelledby="btnGroupConv">
|
||||
{% for format in conversion_formats %}
|
||||
<li><a href="{{ format }}">{{format}} ({{ format }})</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
23
cps/web.py
23
cps/web.py
@ -96,7 +96,6 @@ gdrive_watch_callback_token = 'target=calibreweb-watch_files'
|
||||
|
||||
ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'epub', 'mobi', 'azw', 'azw3', 'cbr', 'cbz', 'cbt', 'djvu', 'prc', 'doc', 'docx', 'fb2'])
|
||||
|
||||
|
||||
def md5(fname):
|
||||
hash_md5 = hashlib.md5()
|
||||
with open(fname, "rb") as f:
|
||||
@ -3072,10 +3071,30 @@ def edit_book(book_id):
|
||||
for author in book.authors:
|
||||
author_names.append(author.name.replace('|', ','))
|
||||
|
||||
#Option for showing convertbook button
|
||||
if config.config_ebookconverter == 2:
|
||||
display_convertbtn = True
|
||||
else:
|
||||
display_convertbtn = False
|
||||
|
||||
app.logger.debug(book)
|
||||
app.logger.debug(book.data)
|
||||
#Determine what formats don't already exist
|
||||
allowed_conversion_formats = ALLOWED_EXTENSIONS
|
||||
for file in book.data:
|
||||
try:
|
||||
allowed_conversion_formats.remove(file.format.lower())
|
||||
except Exception:
|
||||
app.logger.debug("Exception thrown:")
|
||||
app.logger.debug(file.format.lower())
|
||||
|
||||
app.logger.debug(allowed_conversion_formats)
|
||||
|
||||
# Show form
|
||||
if request.method != 'POST':
|
||||
return render_title_template('book_edit.html', book=book, authors=author_names, cc=cc,
|
||||
title=_(u"edit metadata"), page="editbook")
|
||||
title=_(u"edit metadata"), page="editbook", display_convertbtn=display_convertbtn,
|
||||
conversion_formats=allowed_conversion_formats)
|
||||
|
||||
# Update book
|
||||
edited_books_id = set()
|
||||
|
Loading…
Reference in New Issue
Block a user