1
0
mirror of https://github.com/janeczku/calibre-web synced 2024-11-28 04:19:59 +00:00
Web app for browsing, reading and downloading eBooks stored in a Calibre database.
Go to file
jvoisin bc876a159e Declare variables before using them
It should fix the following stacktrace:

```
[2021-02-18 14:46:14,771] ERROR {cps:1891} Exception on / [GET]
Traceback (most recent call last):
  File "/opt/calibre/vendor/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/opt/calibre/vendor/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/opt/calibre/vendor/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/opt/calibre/vendor/flask/_compat.py", line 39, in reraise
    raise value
  File "/opt/calibre/vendor/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/opt/calibre/vendor/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/opt/calibre/cps/usermanagement.py", line 38, in decorated_view
    return login_required(func)(*args, **kwargs)
  File "/opt/calibre/vendor/flask_login/utils.py", line 272, in decorated_view
    return func(*args, **kwargs)
  File "/opt/calibre/cps/web.py", line 719, in index
    return render_books_list("newest", sort_param, 1, page)
  File "/opt/calibre/cps/web.py", line 422, in render_books_list
    entries, random, pagination = calibre_db.fill_indexpage(page, 0, db.Books, True, order)
  File "/opt/calibre/cps/db.py", line 610, in fill_indexpage
    return self.fill_indexpage_with_archived_books(page, pagesize, database, db_filter, order, False, *join)
  File "/opt/calibre/cps/db.py", line 635, in fill_indexpage_with_archived_books
    #    book = self.order_authors(book)
UnboundLocalError: local variable 'entries' referenced before assignment
```
2021-02-18 17:02:58 +01:00
.github/ISSUE_TEMPLATE Correct name for LinuxServer 2021-01-17 09:54:16 +01:00
cps Declare variables before using them 2021-02-18 17:02:58 +01:00
test Updated testresults 2021-02-09 18:04:56 +01:00
.editorconfig Add eslint file 2017-08-12 22:44:39 -07:00
.eslintrc Update to ES5 standards 2017-08-12 22:46:27 -07:00
.gitattributes Merge branch 'Develop' 2019-07-13 20:54:21 +02:00
.gitignore Added executable folder to gitignore 2021-02-06 21:42:29 +01:00
babel.cfg Made kindlegen working on windows (including paths containing umlauts) 2016-11-12 10:52:59 +01:00
CONTRIBUTING.md Spelling/grammar in CONTRIBUTING.md 2020-08-08 01:06:19 +00:00
cps.py Remove some unused imports 2021-01-07 17:59:08 +01:00
LICENSE Add GPL v3 License 2016-04-27 17:29:57 +02:00
MANIFEST.in Merge branch 'Develop' 2019-07-13 20:54:21 +02:00
messages.pot Added translations 2021-02-02 19:04:55 +01:00
optional-requirements.txt Update optional requirements 2021-02-06 11:33:20 +01:00
README.md Kobo sync limit set to 100 2021-01-04 18:45:47 +01:00
requirements.txt Updated Translation 2021-01-17 16:28:28 +01:00
setup.cfg Updated Translation 2021-01-17 16:28:28 +01:00
setup.py Deactivate ldap 2019-07-14 18:37:44 +02:00

About

Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.

This software is a fork of library and licensed under the GPL v3 License.

Main screen

Features

  • Bootstrap 3 HTML5 interface
  • full graphical setup
  • User management with fine-grained per-user permissions
  • Admin interface
  • User Interface in czech, dutch, english, finnish, french, german, greek, hungarian, italian, japanese, khmer, polish, russian, simplified chinese, spanish, swedish, turkish, ukrainian
  • OPDS feed for eBook reader apps
  • Filter and search by titles, authors, tags, series and language
  • Create a custom book collection (shelves)
  • Support for editing eBook metadata and deleting eBooks from Calibre library
  • Support for converting eBooks through Calibre binaries
  • Restrict eBook download to logged-in users
  • Support for public user registration
  • Send eBooks to Kindle devices with the click of a button
  • Sync your Kobo devices through Calibre-Web with your Calibre library
  • Support for reading eBooks directly in the browser (.txt, .epub, .pdf, .cbr, .cbt, .cbz)
  • Upload new books in many formats, including audio formats (.mp3, .m4a, .m4b)
  • Support for Calibre Custom Columns
  • Ability to hide content based on categories and Custom Column content per user
  • Self-update capability
  • "Magic Link" login to make it easy to log on eReaders
  • Login via LDAP, google/github oauth and via proxy authentication

Quick start

  1. Install dependencies by running pip3 install --target vendor -r requirements.txt (python3.x). Alternativly set up a python virtual environment.
  2. Execute the command: python3 cps.py (or nohup python3 cps.py - recommended if you want to exit the terminal window)
  3. Point your browser to http://localhost:8083 or http://localhost:8083/opds for the OPDS catalog
  4. Set Location of Calibre database to the path of the folder where your Calibre library (metadata.db) lives, push "submit" button
    Optionally a Google Drive can be used to host the calibre library -> Using Google Drive integration
  5. Go to Login page

Default admin login:
Username: admin
Password: admin123

Issues with Ubuntu: Please note that running the above install command can fail on some versions of Ubuntu, saying "can't combine user with prefix". This is a known bug and can be remedied by using the command pip install --system --target vendor -r requirements.txt instead.

Requirements

python 3.x+

Optionally, to enable on-the-fly conversion from one ebook format to another when using the send-to-kindle feature, or during editing of ebooks metadata:

Download and install the Calibre desktop program for your platform and enter the folder including program name (normally /opt/calibre/ebook-convert, or C:\Program Files\calibre\ebook-convert.exe) in the field "calibre's converter tool" on the setup page.

Download Kepubify tool for your platform and place the binary starting with kepubify in Linux: \opt\kepubify Windows: C:\Program Files\kepubify.

Docker Images

Pre-built Docker images are available in these Docker Hub repositories:

Technosoft2000 - x64

LinuxServer - x64, armhf, aarch64

  • Docker Hub - https://hub.docker.com/r/linuxserver/calibre-web

  • Github - https://github.com/linuxserver/docker-calibre-web

  • Github - (Optional Calibre layer) - https://github.com/linuxserver/docker-calibre-web/tree/calibre

    This image has the option to pull in an extra docker manifest layer to include the Calibre ebook-convert binary. Just include the environmental variable DOCKER_MODS=linuxserver/calibre-web:calibre in your docker run/docker compose file. (x64 only)

    If you do not need this functionality then this can be omitted, keeping the image as lightweight as possible.

    Both the Calibre-Web and Calibre-Mod images are rebuilt automatically on new releases of Calibre-Web and Calibre respectively, and on updates to any included base image packages on a weekly basis if required.

    • The "path to convertertool" should be set to /usr/bin/ebook-convert
    • The "path to unrar" should be set to /usr/bin/unrar

Wiki

For further information, How To's and FAQ please check the Wiki

Contributing to Calibre-Web

Please have a look at our Contributing Guidelines