mirror of
https://github.com/janeczku/calibre-web
synced 2024-12-25 01:20:32 +00:00
Added additional config options
This commit is contained in:
parent
9bc085a23e
commit
0138ff9e16
@ -90,6 +90,6 @@ def stats():
|
||||
categorys = db.session.query(db.Tags).count()
|
||||
series = db.session.query(db.Series).count()
|
||||
_VERSIONS['ebook converter'] = _(converter.get_calibre_version())
|
||||
_VERSIONS['unrar'] = _(converter.get_version())
|
||||
_VERSIONS['unrar'] = _(converter.get_unrar_version())
|
||||
return render_title_template('stats.html', bookcounter=counter, authorcounter=authors, versions=_VERSIONS,
|
||||
categorycounter=categorys, seriecounter=series, title=_(u"Statistics"), page="stat")
|
||||
|
@ -534,10 +534,9 @@ def _configuration_update_helper():
|
||||
reboot_required |= _config_checkbox_int("config_kobo_sync")
|
||||
_config_checkbox_int("config_kobo_proxy")
|
||||
|
||||
|
||||
_config_int("config_ebookconverter")
|
||||
_config_string("config_calibre")
|
||||
_config_string("config_converterpath")
|
||||
_config_string("config_kepubifypath")
|
||||
|
||||
reboot_required |= _config_int("config_login_type")
|
||||
|
||||
|
@ -87,7 +87,7 @@ class _Settings(_Base):
|
||||
config_use_goodreads = Column(Boolean, default=False)
|
||||
config_goodreads_api_key = Column(String)
|
||||
config_goodreads_api_secret = Column(String)
|
||||
|
||||
config_register_email = Column(Boolean, default=False)
|
||||
config_login_type = Column(Integer, default=0)
|
||||
|
||||
config_kobo_proxy = Column(Boolean, default=False)
|
||||
@ -107,10 +107,12 @@ class _Settings(_Base):
|
||||
config_ldap_group_members_field = Column(String, default='memberUid')
|
||||
config_ldap_group_name = Column(String, default='calibreweb')
|
||||
|
||||
config_ebookconverter = Column(Integer, default=0)
|
||||
# config_ebookconverter = Column(Integer, default=0)
|
||||
config_kepubifypath = Column(String)
|
||||
config_converterpath = Column(String)
|
||||
config_calibre = Column(String)
|
||||
config_rarfile_location = Column(String)
|
||||
config_upload_formats = Column(String)
|
||||
|
||||
config_updatechannel = Column(Integer, default=constants.UPDATE_STABLE)
|
||||
|
||||
|
@ -29,8 +29,8 @@ log = logger.create()
|
||||
|
||||
# _() necessary to make babel aware of string for translation
|
||||
_NOT_CONFIGURED = _('not configured')
|
||||
_NOT_INSTALLED = 'not installed'
|
||||
_EXECUTION_ERROR = 'Execution permissions missing'
|
||||
_NOT_INSTALLED = _('not installed')
|
||||
_EXECUTION_ERROR = _('Execution permissions missing')
|
||||
|
||||
|
||||
def _get_command_version(path, pattern, argument=None):
|
||||
@ -49,14 +49,11 @@ def _get_command_version(path, pattern, argument=None):
|
||||
|
||||
|
||||
def get_calibre_version():
|
||||
version = None
|
||||
if config.config_ebookconverter == 2:
|
||||
version = _get_command_version(config.config_converterpath, r'ebook-convert.*\(calibre', '--version')
|
||||
return version or _NOT_CONFIGURED
|
||||
# version = None
|
||||
# if config.config_ebookconverter == 2:
|
||||
return _get_command_version(config.config_converterpath, r'ebook-convert.*\(calibre', '--version') \
|
||||
or _NOT_CONFIGURED
|
||||
|
||||
|
||||
def get_unrar_version():
|
||||
version = None
|
||||
if config.config_ebookconverter == 2:
|
||||
version = _get_command_version(config.config_converterpath, r'ebook-convert.*\(calibre', '--version')
|
||||
return version or _NOT_CONFIGURED
|
||||
return _get_command_version(config.config_rarfile_location, r'UNRAR.*\d') or _NOT_CONFIGURED
|
||||
|
@ -264,7 +264,7 @@ def render_edit_book(book_id):
|
||||
|
||||
# Option for showing convertbook button
|
||||
valid_source_formats=list()
|
||||
if config.config_ebookconverter == 2:
|
||||
if config.config_converterpath:
|
||||
for file in book.data:
|
||||
if file.format.lower() in constants.EXTENSIONS_CONVERT:
|
||||
valid_source_formats.append(file.format.lower())
|
||||
|
@ -142,7 +142,7 @@ def check_send_to_kindle(entry):
|
||||
"""
|
||||
if len(entry.data):
|
||||
bookformats = list()
|
||||
if config.config_ebookconverter == 0:
|
||||
if not config.config_converterpath:
|
||||
# no converter - only for mobi and pdf formats
|
||||
for ele in iter(entry.data):
|
||||
if 'MOBI' in ele.format:
|
||||
@ -173,7 +173,7 @@ def check_send_to_kindle(entry):
|
||||
bookformats.append({'format': 'Pdf',
|
||||
'convert': 0,
|
||||
'text': _('Send %(format)s to Kindle', format='Pdf')})
|
||||
if config.config_ebookconverter == 2:
|
||||
if config.config_converterpath:
|
||||
if 'EPUB' in formats and not 'MOBI' in formats:
|
||||
bookformats.append({'format': 'Mobi',
|
||||
'convert':1,
|
||||
|
@ -154,17 +154,29 @@
|
||||
<div id="collapsefive" class="panel-collapse collapse">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<input type="checkbox" id="config_uploading" name="config_uploading" {% if config.config_uploading %}checked{% endif %}>
|
||||
<input type="checkbox" id="config_uploading" data-control="upload_settings" name="config_uploading" {% if config.config_uploading %}checked{% endif %}>
|
||||
<label for="config_uploading">{{_('Enable Uploads')}}</label>
|
||||
</div>
|
||||
<div data-related="upload_settings">
|
||||
<div class="form-group">
|
||||
<label for="config_upload_formats">{{_('Allowed Upload Fileformats')}}</label>
|
||||
<input type="text" class="form-control" name="config_upload_formats" id="config_upload_formats" value="{% if config.config_upload_formats != None %}{{ config.config_upload_formats }}{% endif %}" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="checkbox" id="config_anonbrowse" name="config_anonbrowse" {% if config.config_anonbrowse %}checked{% endif %}>
|
||||
<label for="config_anonbrowse">{{_('Enable Anonymous Browsing')}}</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="checkbox" id="config_public_reg" name="config_public_reg" {% if config.config_public_reg %}checked{% endif %}>
|
||||
<input type="checkbox" id="config_public_reg" data-control="register_settings" name="config_public_reg" {% if config.config_public_reg %}checked{% endif %}>
|
||||
<label for="config_public_reg">{{_('Enable Public Registration')}}</label>
|
||||
</div>
|
||||
<div data-related="register_settings">
|
||||
<div class="form-group">
|
||||
<input type="checkbox" id="config_register_email" name="config_register_email" {% if config.config_register_email %}checked{% endif %}>
|
||||
<label for="config_register_email">{{_('Use E-Mail as Username')}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="checkbox" id="config_remote_login" name="config_remote_login" {% if config.config_remote_login %}checked{% endif %}>
|
||||
<label for="config_remote_login">{{_('Enable Magic Link Remote Login')}}</label>
|
||||
@ -327,27 +339,23 @@
|
||||
<div id="collapseeight" class="panel-collapse collapse">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<div><input type="radio" name="config_ebookconverter" id="converter0" value="0" {% if config.config_ebookconverter == 0 %}checked{% endif %}>
|
||||
<label for="converter0">{{_('No Converter')}}</label></div>
|
||||
<div><input type="radio" name="config_ebookconverter" id="converter2" value="2" {% if config.config_ebookconverter == 2 %}checked{% endif %}>
|
||||
<label for="converter2">{{_('Use calibre\'s ebook converter')}}</label></div>
|
||||
<label for="config_calibre">{{_('Calibre E-Book Converter Settings')}}</label>
|
||||
<input type="text" class="form-control" id="config_calibre" name="config_calibre" value="{% if config.config_calibre != None %}{{ config.config_calibre }}{% endif %}" autocomplete="off">
|
||||
</div>
|
||||
<div data-related="calibre">
|
||||
<div class="form-group">
|
||||
<label for="config_calibre">{{_('E-Book converter settings')}}</label>
|
||||
<input type="text" class="form-control" id="config_calibre" name="config_calibre" value="{% if config.config_calibre != None %}{{ config.config_calibre }}{% endif %}" autocomplete="off">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="config_calibre">{{_('Path to convertertool')}}</label>
|
||||
<input type="text" class="form-control" id="config_converterpath" name="config_converterpath" value="{% if config.config_converterpath != None %}{{ config.config_converterpath }}{% endif %}" autocomplete="off">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="config_converterpath">{{_('Path to Calibre E-Book Converter')}}</label>
|
||||
<input type="text" class="form-control" id="config_converterpath" name="config_converterpath" value="{% if config.config_converterpath != None %}{{ config.config_converterpath }}{% endif %}" autocomplete="off">
|
||||
</div>
|
||||
{% if feature_support['rar'] %}
|
||||
<div class="form-group">
|
||||
<label for="config_rarfile_location">{{_('Location of Unrar binary')}}</label>
|
||||
<input type="text" class="form-control" name="config_rarfile_location" id="config_rarfile_location" value="{% if config.config_rarfile_location != None %}{{ config.config_rarfile_location }}{% endif %}" autocomplete="off">
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="form-group">
|
||||
<label for="config_calibre">{{_('Path to Kepubify E-Book Converter')}}</label>
|
||||
<input type="text" class="form-control" id="config_kepubifypath" name="config_converterpath" value="{% if config.config_kepubifypath != None %}{{ config.config_kepubifypath }}{% endif %}" autocomplete="off">
|
||||
</div>
|
||||
{% if feature_support['rar'] %}
|
||||
<div class="form-group">
|
||||
<label for="config_rarfile_location">{{_('Location of Unrar binary')}}</label>
|
||||
<input type="text" class="form-control" name="config_rarfile_location" id="config_rarfile_location" value="{% if config.config_rarfile_location != None %}{{ config.config_rarfile_location }}{% endif %}" autocomplete="off">
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -297,7 +297,7 @@ class WorkerThread(threading.Thread):
|
||||
return
|
||||
|
||||
try:
|
||||
if config.config_ebookconverter == 2:
|
||||
if config.config_converterpath:
|
||||
# Linux py2.7 encode as list without quotes no empty element for parameters
|
||||
# linux py3.x no encode and as list without quotes no empty element for parameters
|
||||
# windows py2.7 encode as string with quotes empty element for parameters is okay
|
||||
@ -341,11 +341,7 @@ class WorkerThread(threading.Thread):
|
||||
if not ele.startswith('Traceback') and not ele.startswith(' File'):
|
||||
error_message = "Calibre failed with error: %s" % ele.strip('\n')
|
||||
|
||||
# kindlegen returncodes
|
||||
# 0 = Info(prcgen):I1036: Mobi file built successfully
|
||||
# 1 = Info(prcgen):I1037: Mobi file built with WARNINGS!
|
||||
# 2 = Info(prcgen):I1038: MOBI file could not be generated because of errors!
|
||||
if check == 0 and config.config_ebookconverter == 2:
|
||||
if check == 0:
|
||||
cur_book = db.session.query(db.Books).filter(db.Books.id == bookid).first()
|
||||
if os.path.isfile(file_path + format_new_ext):
|
||||
new_format = db.Data(name=cur_book.data[0].name,
|
||||
|
Loading…
Reference in New Issue
Block a user