mirror of
https://github.com/janeczku/calibre-web
synced 2024-11-28 04:19:59 +00:00
Merge remote-tracking branch 'bbb/621'
Fixes after testing
This commit is contained in:
commit
40cc25de7a
@ -236,8 +236,8 @@ def update_dir_structure_file(book_id, calibrepath):
|
|||||||
path = new_title_path
|
path = new_title_path
|
||||||
localbook.path = localbook.path.split('/')[0] + '/' + new_titledir
|
localbook.path = localbook.path.split('/')[0] + '/' + new_titledir
|
||||||
except OSError as ex:
|
except OSError as ex:
|
||||||
web.app.logger.error("Rename title from: " + path + " to " + new_title_path)
|
web.app.logger.error("Rename title from: " + path + " to " + new_title_path + ": " + str(ex))
|
||||||
web.app.logger.error(ex, exc_info=True)
|
web.app.logger.debug(ex, exc_info=True)
|
||||||
return _("Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s", src=path, dest=new_title_path, error=str(ex))
|
return _("Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s", src=path, dest=new_title_path, error=str(ex))
|
||||||
if authordir != new_authordir:
|
if authordir != new_authordir:
|
||||||
try:
|
try:
|
||||||
@ -245,9 +245,9 @@ def update_dir_structure_file(book_id, calibrepath):
|
|||||||
os.renames(path, new_author_path)
|
os.renames(path, new_author_path)
|
||||||
localbook.path = new_authordir + '/' + localbook.path.split('/')[1]
|
localbook.path = new_authordir + '/' + localbook.path.split('/')[1]
|
||||||
except OSError as ex:
|
except OSError as ex:
|
||||||
web.app.logger.error("Rename author from: " + path + " to " + new_author_path)
|
web.app.logger.error("Rename author from: " + path + " to " + new_author_path + ": " + str(ex))
|
||||||
web.app.logger.error(ex, exc_info=True)
|
web.app.logger.debug(ex, exc_info=True)
|
||||||
return _("Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s", src=path, dest=new_title_path, error=str(ex))
|
return _("Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s", src=path, dest=new_author_path, error=str(ex))
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,9 +6,9 @@
|
|||||||
<div class="col-sm-3 col-lg-3 col-xs-12">
|
<div class="col-sm-3 col-lg-3 col-xs-12">
|
||||||
<div class="cover">
|
<div class="cover">
|
||||||
{% if book.has_cover %}
|
{% if book.has_cover %}
|
||||||
<img src="{{ url_for('get_cover', cover_path=book.path.replace('\\','/')) }}" />
|
<img src="{{ url_for('get_cover', cover_path=book.path.replace('\\','/')) }}" alt="{{ book.title }}"/>
|
||||||
{% else %}
|
{% else %}
|
||||||
<img src="{{ url_for('static', filename='generic_cover.jpg') }}" />
|
<img src="{{ url_for('static', filename='generic_cover.jpg') }}" alt="{{ book.title }}"/>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% if g.user.role_delete_books() %}
|
{% if g.user.role_delete_books() %}
|
||||||
@ -174,7 +174,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<a href="#" id="get_meta" class="btn btn-default" data-toggle="modal" data-target="#metaModal">{{_('Get metadata')}}</a>
|
<a href="#" id="get_meta" class="btn btn-default" data-toggle="modal" data-target="#metaModal">{{_('Get metadata')}}</a>
|
||||||
<button type="submit" class="btn btn-default">{{_('Submit')}}</button>
|
<button type="submit" id="submit" class="btn btn-default">{{_('Submit')}}</button>
|
||||||
<a href="{{ url_for('show_book', book_id=book.id) }}" class="btn btn-default">{{_('Back')}}</a>
|
<a href="{{ url_for('show_book', book_id=book.id) }}" class="btn btn-default">{{_('Back')}}</a>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
@ -250,7 +250,7 @@
|
|||||||
{% if g.user.role_edit() %}
|
{% if g.user.role_edit() %}
|
||||||
<div class="btn-toolbar" role="toolbar">
|
<div class="btn-toolbar" role="toolbar">
|
||||||
<div class="btn-group" role="group" aria-label="Edit/Delete book">
|
<div class="btn-group" role="group" aria-label="Edit/Delete book">
|
||||||
<a href="{{ url_for('edit_book', book_id=entry.id) }}" class="btn btn-sm btn-warning" role="button"><span class="glyphicon glyphicon-edit"></span> {{_('Edit metadata')}}</a>
|
<a href="{{ url_for('edit_book', book_id=entry.id) }}" class="btn btn-sm btn-warning" id="edit_book" role="button"><span class="glyphicon glyphicon-edit"></span> {{_('Edit metadata')}}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
16
cps/web.py
16
cps/web.py
@ -172,7 +172,12 @@ cache_buster.init_cache_busting(app)
|
|||||||
|
|
||||||
formatter = logging.Formatter(
|
formatter = logging.Formatter(
|
||||||
"[%(asctime)s] {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s")
|
"[%(asctime)s] {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s")
|
||||||
file_handler = RotatingFileHandler(config.get_config_logfile(), maxBytes=50000, backupCount=2)
|
try:
|
||||||
|
file_handler = RotatingFileHandler(config.get_config_logfile(), maxBytes=50000, backupCount=2)
|
||||||
|
except IOError:
|
||||||
|
file_handler = RotatingFileHandler(os.path.join(config.get_main_dir, "calibre-web.log"),
|
||||||
|
maxBytes=50000, backupCount=2)
|
||||||
|
# ToDo: reset logfile value in config class
|
||||||
file_handler.setFormatter(formatter)
|
file_handler.setFormatter(formatter)
|
||||||
app.logger.addHandler(file_handler)
|
app.logger.addHandler(file_handler)
|
||||||
app.logger.setLevel(config.config_log_level)
|
app.logger.setLevel(config.config_log_level)
|
||||||
@ -207,7 +212,8 @@ def get_locale():
|
|||||||
# if a user is logged in, use the locale from the user settings
|
# if a user is logged in, use the locale from the user settings
|
||||||
user = getattr(g, 'user', None)
|
user = getattr(g, 'user', None)
|
||||||
if user is not None and hasattr(user, "locale"):
|
if user is not None and hasattr(user, "locale"):
|
||||||
return user.locale
|
if user.nickname != 'Guest': # if the account is the guest account bypass the config lang settings
|
||||||
|
return user.locale
|
||||||
translations = [item.language for item in babel.list_translations()] + ['en']
|
translations = [item.language for item in babel.list_translations()] + ['en']
|
||||||
preferred = [x.replace('-', '_') for x in request.accept_languages.values()]
|
preferred = [x.replace('-', '_') for x in request.accept_languages.values()]
|
||||||
return negotiate_locale(preferred, translations)
|
return negotiate_locale(preferred, translations)
|
||||||
@ -3573,10 +3579,10 @@ def edit_book(book_id):
|
|||||||
# Update book
|
# Update book
|
||||||
edited_books_id = None
|
edited_books_id = None
|
||||||
#handle book title
|
#handle book title
|
||||||
if book.title != to_save["book_title"]:
|
if book.title != to_save["book_title"].rstrip().strip():
|
||||||
if to_save["book_title"] == '':
|
if to_save["book_title"] == '':
|
||||||
to_save["book_title"] = _(u'unknown')
|
to_save["book_title"] = _(u'unknown')
|
||||||
book.title = to_save["book_title"]
|
book.title = to_save["book_title"].rstrip().strip()
|
||||||
edited_books_id = book.id
|
edited_books_id = book.id
|
||||||
|
|
||||||
# handle author(s)
|
# handle author(s)
|
||||||
@ -3601,8 +3607,6 @@ def edit_book(book_id):
|
|||||||
error = False
|
error = False
|
||||||
if edited_books_id:
|
if edited_books_id:
|
||||||
error = helper.update_dir_stucture(edited_books_id, config.config_calibre_dir)
|
error = helper.update_dir_stucture(edited_books_id, config.config_calibre_dir)
|
||||||
if error: # stop on error
|
|
||||||
flash(error, category="error")
|
|
||||||
|
|
||||||
if not error:
|
if not error:
|
||||||
if to_save["cover_url"]:
|
if to_save["cover_url"]:
|
||||||
|
Loading…
Reference in New Issue
Block a user