Skip to content

Uploading metadata causes the application crash #3230

@divinitus

Description

@divinitus

version: docker.io/linuxserver/calibre-web:latest

root@44132842702d:/# calibre --version
calibre (calibre 7.21)

After selecting fetch metadata. I select lubimyczytac.pl as source. Identify matching book. Select it's cover. Metadata fields get populated. Selecting SAVE generates the following error in the calibre-web.log

Application container is no longer responsive. The book in question is LOST.
It's previous cover is gone, it's metadata is empty. Download links are 404.

[2024-11-19 15:15:12,486] ERROR {cps:838} Exception on /admin/book/2459 [GET]
Traceback (most recent call last):
  File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 1473, in wsgi_app
    response = self.full_dispatch_request()
  File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 882, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 880, in full_dispatch_request
    rv = self.dispatch_request()
  File "/lsiopy/lib/python3.10/site-packages/flask/app.py", line 865, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
  File "/app/calibre-web/cps/usermanagement.py", line 97, in decorated_view
    return login_required(func)(*args, **kwargs)
  File "/app/calibre-web/cps/cw_login/utils.py", line 296, in decorated_view
    return current_app.ensure_sync(func)(*args, **kwargs)
  File "/app/calibre-web/cps/editbooks.py", line 70, in inner
    return f(*args, **kwargs)
  File "/app/calibre-web/cps/editbooks.py", line 93, in show_edit_book
    return render_edit_book(book_id)
  File "/app/calibre-web/cps/editbooks.py", line 977, in render_edit_book
    return render_title_template('book_edit.html', book=book, authors=author_names, cc=cc,
  File "/app/calibre-web/cps/render_template.py", line 113, in render_title_template
    return render_template(instance=config.config_calibre_web_title, sidebar=sidebar, simple=simple,
  File "/lsiopy/lib/python3.10/site-packages/flask/templating.py", line 150, in render_template
    return _render(app, template, context)
  File "/lsiopy/lib/python3.10/site-packages/flask/templating.py", line 131, in _render
    rv = template.render(context)
  File "/lsiopy/lib/python3.10/site-packages/jinja2/environment.py", line 1304, in render
    self.environment.handle_exception()
  File "/lsiopy/lib/python3.10/site-packages/jinja2/environment.py", line 939, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "/app/calibre-web/cps/templates/book_edit.html", line 1, in top-level template code
    {% extends "layout.html" %}
  File "/app/calibre-web/cps/templates/layout.html", line 168, in top-level template code
    {% block body %}{% endblock %}
  File "/app/calibre-web/cps/templates/book_edit.html", line 111, in block 'body'
    <input type="number" step="0.01" min="0" placeholder="1" class="form-control" name="series_index" id="series_index" value="{{book.series_index|formatfloat(2)}}">
  File "/app/calibre-web/cps/jinjia.py", line 116, in formatfloat
    formated_value = ('{0:.' + str(decimals) + 'f}').format(value)
ValueError: Unknown format code 'f' for object of type 'str'

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions