From 9f260128cfb6a3384fc5d01e8c74183a2dd7ed06 Mon Sep 17 00:00:00 2001
From: Bernat <6201454+bernizt@users.noreply.github.com>
Date: Sun, 24 Oct 2021 20:14:47 +0200
Subject: [PATCH 1/7] Prevent virtual keyboard login auto capitalization
Stops virtual keyboards, such as the ones on mobile devices, to default to uppercase for the first letter of the login user input field.
---
cps/templates/login.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cps/templates/login.html b/cps/templates/login.html
index 0d5232e3..708e63ea 100644
--- a/cps/templates/login.html
+++ b/cps/templates/login.html
@@ -7,7 +7,7 @@
-
+
From b4772d9b6617a6dc24b2abc4efa5909223bd663d Mon Sep 17 00:00:00 2001
From: ElQuimm <50202052+ElQuimm@users.noreply.github.com>
Date: Tue, 26 Oct 2021 11:10:46 +0200
Subject: [PATCH 2/7] Update italian version of message.po
---
cps/translations/it/LC_MESSAGES/messages.po | 112 ++++++++------------
1 file changed, 44 insertions(+), 68 deletions(-)
diff --git a/cps/translations/it/LC_MESSAGES/messages.po b/cps/translations/it/LC_MESSAGES/messages.po
index 2d9f2f54..807a1a66 100644
--- a/cps/translations/it/LC_MESSAGES/messages.po
+++ b/cps/translations/it/LC_MESSAGES/messages.po
@@ -184,14 +184,12 @@ msgid "Are you sure you want to change the selected visibility restrictions for
msgstr "Sei sicuro di voler modificare le impostazioni delle restrizioni di visualizzazione dell'/degli utente/i selezionato/i?"
#: cps/admin.py:590
-#, fuzzy
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
-msgstr "Sei sicuro di voler modificare il ruolo evidenziato dell'/degli utente/i selezionato/i?"
+msgstr "Sei sicuro di voler modificare il comportamento di sincronizzazione dello scaffale per l'/gli utente/i selezionato/i?"
#: cps/admin.py:592
-#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
-msgstr "Vuoi veramente arrestare Calibre-Web?"
+msgstr "Sei sicuro di voler modificare la posizione della libreria di Calibre?"
#: cps/admin.py:741
msgid "Tag not found"
@@ -230,13 +228,12 @@ msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Per favore digita un Provider LDAP, porta, DN e User Object Identifier"
#: cps/admin.py:1102
-#, fuzzy
msgid "Please Enter a LDAP Service Account and Password"
-msgstr "Per favore digita un nome di utente valido per resettare la password"
+msgstr "Per favore digita nome di utente e password del servizio LDAP"
#: cps/admin.py:1105
msgid "Please Enter a LDAP Service Account"
-msgstr ""
+msgstr "Per favore indica un account di servizio LDAP"
#: cps/admin.py:1110
#, python-format
@@ -292,14 +289,12 @@ msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "La posizione del Certfile non è valida, per favore indica il percorso corretto"
#: cps/admin.py:1316
-#, fuzzy
msgid "Database Settings updated"
-msgstr "Configurazione del server e-mail aggiornata"
+msgstr "Configurazione del Database aggiornata"
#: cps/admin.py:1324
-#, fuzzy
msgid "Database Configuration"
-msgstr "Ulteriori opzioni"
+msgstr "Configurazione del Database"
#: cps/admin.py:1340 cps/web.py:1479
msgid "Please fill out all fields!"
@@ -438,18 +433,16 @@ msgid "General error"
msgstr "Errore generale"
#: cps/admin.py:1696
-#, fuzzy
msgid "Update file could not be saved in temp dir"
msgstr "Il file di aggiornamento non può essere salvato nella cartella temporanea"
#: cps/admin.py:1697
msgid "Files could not be replaced during update"
-msgstr ""
+msgstr "Durante l'aggiornamento non è stato possibile sostituire alcuni file"
#: cps/admin.py:1721
-#, fuzzy
msgid "Failed to extract at least One LDAP User"
-msgstr "Fallita la creazione di almeno un utente LDAP"
+msgstr "Fallita l'estrazione di almeno un utente LDAP"
#: cps/admin.py:1766
msgid "Failed to Create at Least One LDAP User"
@@ -505,7 +498,7 @@ msgstr "modifica i metadati"
#: cps/editbooks.py:455
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
-msgstr ""
+msgstr "%(seriesindex)s non è un numero valido, proseguo"
#: cps/editbooks.py:490
#, python-format
@@ -646,9 +639,9 @@ msgid "Send %(format)s to Kindle"
msgstr "Invia %(format)s a Kindle"
#: cps/helper.py:219 cps/tasks/convert.py:90
-#, fuzzy, python-format
+#, python-format
msgid "%(book)s send to Kindle"
-msgstr "Invia a Kindle"
+msgstr "%(book)s inviato a Kindle"
#: cps/helper.py:224
msgid "The requested file could not be read. Maybe wrong permissions?"
@@ -665,9 +658,9 @@ msgid "Deleting book %(id)s failed: %(message)s"
msgstr "L'eliminazione del libro %(id)s non è riuscita: %(message)s"
#: cps/helper.py:333
-#, fuzzy, python-format
+#, python-format
msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
-msgstr "Eliminazione del libro %(id)s. Il percorso del libro non è valido: %(path)s"
+msgstr "Eliminazione del libro %(id)s unicamente dal database. Il percorso del libro nel database non è valido: %(path)s"
#: cps/helper.py:388
#, python-format
@@ -961,7 +954,7 @@ msgstr "Valutazioni"
#: cps/render_template.py:88 cps/templates/user_table.html:164
msgid "Show ratings selection"
-msgstr "Mostra l'opzione per la selezione della valutazione"
+msgstr "Mostra l'opzione per la selezione delle valutazioni"
#: cps/render_template.py:89 cps/templates/index.xml:112
msgid "File formats"
@@ -1034,16 +1027,15 @@ msgstr "Il libro è stato rimosso dallo scaffale: %(sname)s"
#: cps/shelf.py:218
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
-msgstr "Spiacente, ma non sei autorizzato a togliere libri dallo scaffale: %(sname)s"
+msgstr "Spiacente, non sei autorizzato a togliere libri dallo scaffale: %(sname)s"
#: cps/shelf.py:228 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "Crea uno scaffale"
#: cps/shelf.py:236
-#, fuzzy
msgid "Sorry you are not allowed to edit this shelf"
-msgstr "Spiacente, ma non sei autorizzato a togliere libri dallo scaffale: %(sname)s"
+msgstr "Spiacente, non sei autorizzato a modificare questo scaffale"
#: cps/shelf.py:238
msgid "Edit a shelf"
@@ -1216,7 +1208,7 @@ msgstr "Stato di lettura = %(status)s"
#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
-msgstr ""
+msgstr "Errore di ricerca nelle colonne personalizzate. Per favore riavvia Calibre-Web"
#: cps/web.py:1449
#, python-format
@@ -1478,9 +1470,8 @@ msgid "Reverse Proxy Header Name"
msgstr "Nome dell'intestazione Reverse Proxy"
#: cps/templates/admin.html:153
-#, fuzzy
msgid "Edit Calibre Database Configuration"
-msgstr "Modifica la configurazione di base"
+msgstr "Modifica la configurazione del Database di Calibre"
#: cps/templates/admin.html:154
msgid "Edit Basic Configuration"
@@ -1747,9 +1738,8 @@ msgid "Keyword"
msgstr "Parola chiave"
#: cps/templates/book_edit.html:237
-#, fuzzy
msgid "Search keyword"
-msgstr " ricerca parola chiave "
+msgstr "Cerca parola chiave"
#: cps/templates/book_edit.html:243
msgid "Click the cover to load metadata to the form"
@@ -1793,7 +1783,7 @@ msgstr "Rimuovi le selezioni"
#: cps/templates/book_table.html:41
msgid "Exchange author and title"
-msgstr ""
+msgstr "Scambia autore e titolo"
#: cps/templates/book_table.html:47
msgid "Update Title Sort automatically"
@@ -1860,9 +1850,8 @@ msgstr "Indica gli editori"
#: cps/templates/book_table.html:79 cps/templates/book_table.html:81
#: cps/templates/book_table.html:85 cps/templates/book_table.html:87
#: cps/templates/book_table.html:89
-#, fuzzy
msgid "Enter "
-msgstr "Identificatori"
+msgstr "Conferma "
#: cps/templates/book_table.html:106 cps/templates/modal_dialogs.html:46
msgid "Are you really sure?"
@@ -1905,9 +1894,8 @@ msgid "Revoke"
msgstr "Revoca"
#: cps/templates/config_db.html:68
-#, fuzzy
msgid "New db location is invalid, please enter valid path"
-msgstr "La posizione del DB non è valida, per favore indica il percorso corretto"
+msgstr "La nuova posizione del DB non è valida, per favore indica un percorso corretto"
#: cps/templates/config_edit.html:18
msgid "Server Configuration"
@@ -1959,7 +1947,7 @@ msgstr "Ulteriori opzioni"
#: cps/templates/config_edit.html:100
msgid "Convert non-English characters in title and author while saving to disk"
-msgstr ""
+msgstr "Converti caratteri non inglesi del titolo e dell'autore durante il salvataggio su disco"
#: cps/templates/config_edit.html:104
msgid "Enable Uploads"
@@ -2250,18 +2238,16 @@ msgid "Allow Editing Public Shelves"
msgstr "Permetti la modifica degli scaffali pubblici"
#: cps/templates/config_view_edit.html:119
-#, fuzzy
msgid "Default Language"
-msgstr "Escludi lingue"
+msgstr "Lingua predefinita"
#: cps/templates/config_view_edit.html:127
-#, fuzzy
msgid "Default Visible Language of Books"
-msgstr "Mostra libri in"
+msgstr "Lingua predefinita di presentazione dei libri"
#: cps/templates/config_view_edit.html:143
msgid "Default Visibilities for New Users"
-msgstr "Visibilità di base per i nuovi utenti"
+msgstr "Visibilità predefinita per i nuovi utenti"
#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
@@ -2285,9 +2271,9 @@ msgid "Listen in Browser"
msgstr "Ascolta nel navigatore"
#: cps/templates/detail.html:124
-#, fuzzy, python-format
+#, python-format
msgid "Book %(index)s of %(range)s"
-msgstr ""
+msgstr "Libro %(index)s di %(range)s"
#: cps/templates/detail.html:173
msgid "Published"
@@ -2344,16 +2330,14 @@ msgid "Use Standard E-Mail Account"
msgstr "Utilizza un account e-mail standard"
#: cps/templates/email_edit.html:16
-#, fuzzy
msgid "Gmail Account with OAuth2 Verification"
-msgstr "Utilizza un account Gmail con la verifica OAuth2"
+msgstr "Account Gmail con verifica OAuth2"
#: cps/templates/email_edit.html:22
msgid "Setup Gmail Account as E-Mail Server"
msgstr "Configura l'account Gmail quale server e-mail"
#: cps/templates/email_edit.html:24
-#, fuzzy
msgid "Revoke Gmail Access"
msgstr "Revoca l'accesso Gmail"
@@ -2412,9 +2396,8 @@ msgid "Open the .kobo/Kobo eReader.conf file in a text editor and add (or edit):
msgstr "Apri il file .kobo/Kobo eReader.conf in un editore di testi e aggiungi (o edita):"
#: cps/templates/http_error.html:31
-#, fuzzy
msgid "Calibre-Web Instance is unconfigured, please contact your administrator"
-msgstr "Il server e-mail non è configurato, per favore contatta l'amministratore"
+msgstr "L'istanza Calibre-Web non è configurata, per favore contatta l'amministratore"
#: cps/templates/http_error.html:41
msgid "Create Issue"
@@ -2426,7 +2409,7 @@ msgstr "Ritorna alla pagina principale"
#: cps/templates/http_error.html:50
msgid "Logout User"
-msgstr ""
+msgstr "Disconnetti l'utente"
#: cps/templates/index.html:72 cps/templates/search.html:33
#: cps/templates/shelf.html:21
@@ -2685,18 +2668,16 @@ msgid "Calibre-Web eBook Catalog"
msgstr "Catalogo Calibre-Web"
#: cps/templates/read.html:6
-#, fuzzy
msgid "epub Reader"
-msgstr "Lettore PDF"
+msgstr "Lettore epub"
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "Adatta il testo quando le barre laterali sono aperte."
#: cps/templates/readcbr.html:7
-#, fuzzy
msgid "Comic Reader"
-msgstr "Lettore PDF"
+msgstr "Lettore di fumetti"
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
@@ -2796,38 +2777,35 @@ msgstr "Da destra a sinistra"
#: cps/templates/readcbr.html:165
msgid "Reset to Top"
-msgstr ""
+msgstr "Ripristina all'inizio"
#: cps/templates/readcbr.html:166
msgid "Remember Position"
-msgstr ""
+msgstr "Ricorda la posizione"
#: cps/templates/readcbr.html:171
msgid "Scrollbar"
-msgstr ""
+msgstr "Barra di scorrimento"
#: cps/templates/readcbr.html:174
msgid "Show"
-msgstr ""
+msgstr "Mostra"
#: cps/templates/readcbr.html:175
msgid "Hide"
-msgstr ""
+msgstr "Nascondi"
#: cps/templates/readdjvu.html:5
-#, fuzzy
msgid "DJVU Reader"
-msgstr "Lettore PDF"
+msgstr "Lettore DJVU"
#: cps/templates/readpdf.html:29
-#, fuzzy
msgid "PDF Reader"
msgstr "Lettore PDF"
#: cps/templates/readtxt.html:6
-#, fuzzy
msgid "txt Reader"
-msgstr "Lettore PDF"
+msgstr "Lettore txt"
#: cps/templates/register.html:4
msgid "Register New Account"
@@ -2951,7 +2929,7 @@ msgstr "Condividi con tutti"
#: cps/templates/shelf_edit.html:21
msgid "Sync this shelf with Kobo device"
-msgstr ""
+msgstr "Sincronizza questo scaffale con il lettore Kobo"
#: cps/templates/shelf_order.html:5
msgid "Drag to Rearrange Order"
@@ -3051,7 +3029,7 @@ msgstr "Aggiungi valori personali permessi/negati nelle colonne"
#: cps/templates/user_edit.html:130
msgid "Sync only books in selected shelves with Kobo"
-msgstr ""
+msgstr "Sincronizza con Kobo unicamene i libri negli scaffali selezionati"
#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
msgid "Delete User"
@@ -3122,9 +3100,8 @@ msgid "Edit Denied Column Values"
msgstr "Modifica i valori delle colonne negate"
#: cps/templates/user_table.html:142
-#, fuzzy
msgid "Denied Column Values"
-msgstr "Valori delle colonne negate"
+msgstr "Valori negati per le colonne"
#: cps/templates/user_table.html:144
msgid "Change Password"
@@ -3135,13 +3112,12 @@ msgid "View"
msgstr "Visualizza"
#: cps/templates/user_table.html:150
-#, fuzzy
msgid "Edit Public Shelves"
msgstr "Modifica gli scaffali pubblici"
#: cps/templates/user_table.html:152
msgid "Sync selected Shelves with Kobo"
-msgstr ""
+msgstr "Sincronizza con Kobo gli scaffali selezionati"
#: cps/templates/user_table.html:156
msgid "Show read/unread selection"
From 857584a9295142b7262a4d8dd8500f862e3b75b2 Mon Sep 17 00:00:00 2001
From: i7-8700 <1281261856@qq.com>
Date: Wed, 27 Oct 2021 11:33:30 +0800
Subject: [PATCH 3/7] fix "MIME type ('text/plain') is not executable" on
windows
---
cps/__init__.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/cps/__init__.py b/cps/__init__.py
index 771abda7..e213fd5e 100644
--- a/cps/__init__.py
+++ b/cps/__init__.py
@@ -66,6 +66,8 @@ mimetypes.add_type('application/mp4', '.m4a')
mimetypes.add_type('application/mp4', '.m4b')
mimetypes.add_type('application/ogg', '.ogg')
mimetypes.add_type('application/ogg', '.oga')
+mimetypes.add_type('text/css', '.css')
+mimetypes.add_type('text/javascript; charset=UTF-8', '.js')
app = Flask(__name__)
app.config.update(
From 1294672809ca2811e294977e63d69c820211644b Mon Sep 17 00:00:00 2001
From: Ozzie Isaacs
Date: Sat, 30 Oct 2021 07:31:12 +0200
Subject: [PATCH 4/7] Bugfix search with excluded shelfs
---
cps/web.py | 2 +-
test/Calibre-Web TestSummary_Linux.html | 744 +++++++++++++++---------
2 files changed, 462 insertions(+), 284 deletions(-)
diff --git a/cps/web.py b/cps/web.py
index d1de5677..8d5d2adf 100644
--- a/cps/web.py
+++ b/cps/web.py
@@ -1186,7 +1186,7 @@ def adv_search_serie(q, include_series_inputs, exclude_series_inputs):
def adv_search_shelf(q, include_shelf_inputs, exclude_shelf_inputs):
q = q.outerjoin(ub.BookShelf, db.Books.id == ub.BookShelf.book_id)\
- .filter(or_(ub.BookShelf.shelf is None, ub.BookShelf.shelf.notin_(exclude_shelf_inputs)))
+ .filter(or_(ub.BookShelf.shelf == None, ub.BookShelf.shelf.notin_(exclude_shelf_inputs)))
if len(include_shelf_inputs) > 0:
q = q.filter(ub.BookShelf.shelf.in_(include_shelf_inputs))
return q
diff --git a/test/Calibre-Web TestSummary_Linux.html b/test/Calibre-Web TestSummary_Linux.html
index 069b8146..7cdaa5a0 100644
--- a/test/Calibre-Web TestSummary_Linux.html
+++ b/test/Calibre-Web TestSummary_Linux.html
@@ -37,20 +37,20 @@
Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_delete_database.py", line 77, in test_delete_books_in_database
+ self.assertEqual("", bl['table'][0]['selector']['text'])
+AssertionError: '' != 'No matching records found'
++ No matching records found
Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_kobo_sync_big.py", line 278, in test_kobo_sync_selected_shelfs
+ self.assertIn("NewTag", data3[2])
+IndexError: list index out of range
Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_kobo_sync_big.py", line 185, in test_sync_changed_book
+ self.assertTrue('ChangedEntitlement' in data[0][0])
+IndexError: list index out of range