diff --git a/README.md b/README.md index 1f0eca71..5b137f68 100755 --- a/README.md +++ b/README.md @@ -46,6 +46,12 @@ Calibre-Web is a web app providing a clean interface for browsing, reading and d 3. Optional features can also be installed via pip, please refer to [this page](https://github.com/janeczku/calibre-web/wiki/Dependencies-in-Calibre-Web-Linux-and-Windows) for details 4. Calibre-Web can be started afterwards by typing `cps` +Issues with Raspberry Pi - Raspberry Pi OS: +Depending on your version of pip it's possible that the installation fails with `Failed to build cryptography +ERROR: Could not build wheels for cryptography, which is required to install pyproject.toml-based projects`. +In this case please try to update pip with `./venv/bin/python3 -m pip install --upgrade pip` first, and then try installing Calibre-Web again. +If this isn't working please also install cargo via `sudo apt install cargo`, and try installing Calibre-Web again. + In the Wiki there are also examples for: a [manual installation](https://github.com/janeczku/calibre-web/wiki/Manual-installation), [installation on Linux Mint](https://github.com/janeczku/calibre-web/wiki/How-To:Install-Calibre-Web-in-Linux-Mint-19-or-20), [installation on a Cloud Provider](https://github.com/janeczku/calibre-web/wiki/How-To:-Install-Calibre-Web-on-a-Cloud-Provider). ## Quick start diff --git a/cps/tasks/metadata_backup.py b/cps/tasks/metadata_backup.py index 0bcdf6c1..717e7202 100644 --- a/cps/tasks/metadata_backup.py +++ b/cps/tasks/metadata_backup.py @@ -149,7 +149,7 @@ class TaskBackupMetadata(CalibreTask): package.set("unique-identifier", "uuid_id") package.set("version", "2.0") - # generate metadata element and all subelements of it + # generate metadata element and all sub elements of it metadata = etree.SubElement(package, "metadata", nsmap=NSMAP) identifier = etree.SubElement(metadata, PURL + "identifier", id="calibre_id", nsmap=NSMAP) identifier.set(OPF + "scheme", "calibre") diff --git a/cps/templates/feed.xml b/cps/templates/feed.xml index 940fb0da..d2114157 100644 --- a/cps/templates/feed.xml +++ b/cps/templates/feed.xml @@ -43,16 +43,17 @@ {{entry.Books.title}} urn:uuid:{{entry.Books.uuid}} {{entry.Books.atom_timestamp}} - {% if entry.Books.authors.__len__() > 0 %} + {% for author in entry.Books.authors %} - {{entry.Books.authors[0].name}} + {{author.name}} - {% endif %} + {% endfor %} {% if entry.Books.publishers.__len__() > 0 %} {{entry.Books.publishers[0].name}} {% endif %} + {{entry.Books.pubdate.strftime("%Y-%m-%dT%H:%M:%S+00:00")}} {% for lang in entry.Books.languages %} {{lang.lang_code}} {% endfor %} diff --git a/cps/web.py b/cps/web.py index 45e62ec5..5320c94b 100644 --- a/cps/web.py +++ b/cps/web.py @@ -1411,10 +1411,10 @@ def change_profile(kobo_support, local_oauth_check, oauth_status, translations, current_user.random_books = 0 try: if current_user.role_passwd() or current_user.role_admin(): - if to_save.get('password', "") != "": - current_user.password = generate_password_hash(valid_password(to_save.get("password", ""))) - if to_save.get("eReader_mail", current_user.kindle_mail) != current_user.kindle_mail: - current_user.kindle_mail = valid_email(to_save.get("eReader_mail")) + if to_save.get("password", "") != "": + current_user.password = generate_password_hash(to_save.get("password")) + if to_save.get("kindle_mail", current_user.kindle_mail) != current_user.kindle_mail: + current_user.kindle_mail = valid_email(to_save.get("kindle_mail")) new_email = valid_email(to_save.get("email", current_user.email)) if not new_email: raise Exception(_("Email can't be empty and has to be a valid Email"))