Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

书籍上传了2k多本,现在无法上传书记,总是报错 #385

Open
hjf3008 opened this issue Apr 6, 2024 · 0 comments
Open

书籍上传了2k多本,现在无法上传书记,总是报错 #385

hjf3008 opened this issue Apr 6, 2024 · 0 comments

Comments

@hjf3008
Copy link

hjf3008 commented Apr 6, 2024

问题描述

书籍上传了2k多本,现在无法上传书记,总是报错

问题环境

  • 版本号:例如v3.6.1
  • URL:出现异常时的URL
  • 运行系统:NAS/DOCKER/网站等
  • 访问设备:Windows/Linux/Mac/iPhone12/Android9等
  • 浏览器版本:例如 Chrome 版本 120.0.6099.109
  • 书籍信息:如果是特定的书异常,请提供「书名」和「作者名」

复现步骤

  1. 上传书籍文件 PDF /AWS
  2. 报错信息如下:
    Exception:
    Traceback (most recent call last):
    File "/var/www/talebook/webserver/handlers/base.py", line 49, in do
    rsp = func(self, *args, **kwargs)
    File "/var/www/talebook/webserver/handlers/base.py", line 76, in do
    return func(self, *args, **kwargs)
    File "/var/www/talebook/webserver/handlers/book.py", line 449, in post
    book_id = self.db.import_book(mi, fpaths)
    File "/usr/lib/calibre/calibre/db/legacy.py", line 362, in import_book
    book_ids, duplicates = self.new_api.add_books(
    File "/usr/lib/calibre/calibre/db/cache.py", line 1713, in add_books
    book_id = self.create_book_entry(mi, add_duplicates=add_duplicates, apply_import_tags=apply_import_tags, preserve_uuid=preserve_uuid)
    File "/usr/lib/calibre/calibre/db/cache.py", line 72, in call_func_with_lock
    return func(*args, **kwargs)
    File "/usr/lib/calibre/calibre/db/cache.py", line 1683, in create_book_entry
    self._set_metadata(book_id, mi, ignore_errors=True)
    File "/usr/lib/calibre/calibre/db/cache.py", line 1392, in set_metadata
    set_field('authors', authors)
    File "/usr/lib/calibre/calibre/db/cache.py", line 1378, in set_field
    dirtied.update(self._set_field(name, {book_id:val}, do_path_update=False, allow_case_change=allow_case_change))
    File "/usr/lib/calibre/calibre/db/cache.py", line 1198, in set_field
    dirtied = f.writer.set_books(
    File "/usr/lib/calibre/calibre/db/write.py", line 543, in set_books
    dirtied = self.set_books_func(book_id_val_map, db, self.field,
    File "/usr/lib/calibre/calibre/db/write.py", line 404, in many_many
    get_db_id(val, db, m, table, kmap, rid_map, allow_case_change,
    File "/usr/lib/calibre/calibre/db/write.py", line 268, in get_db_id
    db.execute('INSERT INTO authors(name,sort) VALUES (?,?)',
    File "/usr/lib/calibre/calibre/db/backend.py", line 920, in execute
    return self.conn.cursor().execute(sql, bindings)
    apsw.ConstraintError: ConstraintError: UNIQUE constraint failed: authors.name
  3. 看到报错XXX

截图

请上传报错的截图
阅读书籍报错信息
微信图片_20240406094407

报错信息

把系统上提示的报错信息文字版粘贴出来

日志

请上传 talebook.log 文件,或截取日志中 提示 Exceptions 的部分

书籍文件

如果是特定某本书出现异常,请上传该书籍文件

其他

如果是比较复杂的问题,可以把整个书库 /books/library/metadata.db 数据库文件上传,以便作者复现异常场景
EVO扫描电子显微镜.pdf
metadata.zip

并且在已上传的图书中也有大量的书籍是无法在线阅读和下载的,应该是没有书籍文件在目录里。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant