mirror of
https://github.com/janeczku/calibre-web
synced 2024-11-16 06:12:58 +00:00
Merge branch 'master' into Develop
# Conflicts: # cps/web.py # test/Calibre-Web TestSummary_Linux.html
This commit is contained in:
commit
b28a2cc58c
@ -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
|
||||
|
@ -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")
|
||||
|
@ -43,16 +43,17 @@
|
||||
<title>{{entry.Books.title}}</title>
|
||||
<id>urn:uuid:{{entry.Books.uuid}}</id>
|
||||
<updated>{{entry.Books.atom_timestamp}}</updated>
|
||||
{% if entry.Books.authors.__len__() > 0 %}
|
||||
{% for author in entry.Books.authors %}
|
||||
<author>
|
||||
<name>{{entry.Books.authors[0].name}}</name>
|
||||
<name>{{author.name}}</name>
|
||||
</author>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% if entry.Books.publishers.__len__() > 0 %}
|
||||
<publisher>
|
||||
<name>{{entry.Books.publishers[0].name}}</name>
|
||||
</publisher>
|
||||
{% endif %}
|
||||
<published>{{entry.Books.pubdate.strftime("%Y-%m-%dT%H:%M:%S+00:00")}}</published>
|
||||
{% for lang in entry.Books.languages %}
|
||||
<dcterms:language>{{lang.lang_code}}</dcterms:language>
|
||||
{% endfor %}
|
||||
|
@ -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"))
|
||||
|
Loading…
Reference in New Issue
Block a user