diff --git a/cps/static/js/kthoom.js b/cps/static/js/kthoom.js index 28b139e6..c1afb64c 100644 --- a/cps/static/js/kthoom.js +++ b/cps/static/js/kthoom.js @@ -179,19 +179,21 @@ kthoom.ImageFile = function(file) { }; function updateDirectionButtons(){ - $("#right").show(); - $("#left").show(); if (currentImage == 0 ) { if (settings.direction === 0) { + $("#right").show(); $("#left").hide(); } else { + $("#left").show(); $("#right").hide(); } } if ((currentImage + 1) >= Math.max(totalImages, imageFiles.length)) { if (settings.direction === 0) { + $("#left").show(); $("#right").hide(); } else { + $("#right").show(); $("#left").hide(); } } diff --git a/setup.cfg b/setup.cfg index 1f617648..d4deb399 100644 --- a/setup.cfg +++ b/setup.cfg @@ -40,62 +40,62 @@ include_package_data = True install_requires = APScheduler>=3.6.3,<3.11.0 Babel>=1.3,<3.0 - Flask-Babel>=0.11.1,<3.1.0 + Flask-Babel>=0.11.1,<3.2.0 Flask-Login>=0.3.2,<0.6.3 Flask-Principal>=0.3.2,<0.5.1 Flask>=1.0.2,<2.4.0 iso-639>=0.4.5,<0.5.0 - PyPDF>=3.0.0,<3.8.0 + PyPDF>=3.0.0,<3.16.0 pytz>=2016.10 - requests>=2.11.1,<2.29.0 + requests>=2.28.0,<2.32.0 SQLAlchemy>=1.3.0,<2.0.0 - tornado>=4.1,<6.3 + tornado>=6.3,<6.4 Wand>=0.4.4,<0.7.0 unidecode>=0.04.19,<1.4.0 lxml>=3.8.0,<5.0.0 flask-wtf>=0.14.2,<1.2.0 chardet>=3.0.0,<4.1.0 advocate>=1.0.0,<1.1.0 - Flask-Limiter>=2.3.0,<3.4.0 + Flask-Limiter>=2.3.0,<3.5.0 [options.extras_require] gdrive = - google-api-python-client>=1.7.11,<2.90.0 - gevent>20.6.0,<23.0.0 + google-api-python-client>=1.7.11,<2.98.0 + gevent>20.6.0,<24.0.0 greenlet>=0.4.17,<2.1.0 httplib2>=0.9.2,<0.23.0 oauth2client>=4.0.0,<4.1.4 uritemplate>=3.0.0,<4.2.0 pyasn1-modules>=0.0.8,<0.4.0 pyasn1>=0.1.9,<0.6.0 - PyDrive2>=1.3.1,<1.16.0 - PyYAML>=3.12 + PyDrive2>=1.3.1,<1.18.0 + PyYAML>=3.12,<6.1 rsa>=3.4.2,<4.10.0 gmail = - google-auth-oauthlib>=0.4.3,<0.9.0 - google-api-python-client>=1.7.11,<2.90.0 + google-auth-oauthlib>=0.4.3,<1.1.0 + google-api-python-client>=1.7.11,<2.98.0 goodreads = goodreads>=0.3.2,<0.4.0 - python-Levenshtein>=0.12.0,<0.21.0 + python-Levenshtein>=0.12.0,<0.22.0 ldap = python-ldap>=3.0.0,<3.5.0 Flask-SimpleLDAP>=1.4.0,<1.5.0 oauth = - Flask-Dance>=2.0.0,<6.3.0 - SQLAlchemy-Utils>=0.33.5,<0.40.0 + Flask-Dance>=2.0.0,<7.1.0 + SQLAlchemy-Utils>=0.33.5,<0.42.0 metadata = rarfile>=3.2 scholarly>=1.2.0,<1.8 markdown2>=2.0.0,<2.5.0 html2text>=2020.1.16,<2022.1.1 python-dateutil>=2.1,<2.9.0 - beautifulsoup4>=4.0.1,<4.12.0 - faust-cchardet>=2.1.18 + beautifulsoup4>=4.0.1,<4.13.0 + faust-cchardet>=2.1.18,<2.1.20 py7zr>=0.15.0,<0.21.0 comics = natsort>=2.2.0,<8.4.0 comicapi>=2.2.0,<3.3.0 kobo = - jsonschema>=3.2.0,<4.18.0 + jsonschema>=3.2.0,<4.20.0 diff --git a/test/Calibre-Web TestSummary_Linux.html b/test/Calibre-Web TestSummary_Linux.html index 66d4df88..b6ed61e8 100644 --- a/test/Calibre-Web TestSummary_Linux.html +++ b/test/Calibre-Web TestSummary_Linux.html @@ -37,20 +37,20 @@
-

Start Time: 2023-08-23 21:16:31

+

Start Time: 2023-08-28 19:42:24

-

Stop Time: 2023-08-24 03:51:45

+

Stop Time: 2023-08-29 02:13:03

-

Duration: 5h 34 min

+

Duration: 5h 31 min

@@ -102,12 +102,12 @@ - + TestAnonymous 13 - 13 - 0 + 12 0 + 1 0 Detail @@ -197,11 +197,31 @@ - +
TestAnonymous - test_guest_change_visibility_series
- PASS + +
+ ERROR +
+ + + + @@ -234,11 +254,11 @@ - + TestBackupMetadata 22 - 22 - 0 + 21 + 1 0 0 @@ -302,11 +322,31 @@ - +
TestBackupMetadata - test_backup_change_book_publishing_date
- PASS + +
+ FAIL +
+ + + + @@ -1246,12 +1286,12 @@ AttributeError: 'bool' object has no attribute 'click' - + TestEditBooks 38 - 34 + 36 + 0 0 - 2 2 Detail @@ -1537,31 +1577,11 @@ AttributeError: 'bool' object has no attribute 'click' - +
TestEditBooks - test_upload_book_cb7
- -
- ERROR -
- - - - + PASS @@ -1647,31 +1667,11 @@ AttributeError: 'bool' object has no attribute 'click' - +
TestEditBooks - test_upload_cover_hdd
- -
- ERROR -
- - - - + PASS @@ -1815,11 +1815,11 @@ NameError: name 'details' is not defined - + TestEditBooksList 18 - 18 - 0 + 17 + 1 0 0 @@ -1937,11 +1937,31 @@ NameError: name 'details' is not defined - +
TestEditBooksList - test_bookslist_edit_series
- PASS + +
+ FAIL +
+ + + + @@ -2023,15 +2043,9 @@ NameError: name 'details' is not defined
Traceback (most recent call last):
-  File "/home/ozzie/Development/calibre-web-test/test/test_edit_books_metadata.py", line 209, in test_load_metadata
-    self.assertEqual(old_results, results)
-AssertionError: Lists differ: [] != [{'cover_element': <selenium.webdriver.rem[10121 chars]4/'}]
-
-Second list contains 20 additional elements.
-First extra element 0:
-{'cover_element': <selenium.webdriver.remote.webelement.WebElement (session="34034d2d-f804-47c1-b9ad-fcf09f75f812", element="6dfe81e2-4752-4f1f-bd33-9388d0d529c1")>, 'cover': 'https://books.google.com/books/content?id=Ub8TAQAAIAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api&fife=w800-h900', 'source': 'https://books.google.com/', 'author': 'Martin Vogt', 'publisher': '', 'title': 'Der Buchtitel in der römischen Poesie', 'title_link': 'https://books.google.com/books?id=Ub8TAQAAIAAJ'}
-
-Diff is 10795 characters long. Set self.maxDiff to None to see it.
+ File "/home/ozzie/Development/calibre-web-test/test/test_edit_books_metadata.py", line 167, in test_load_metadata + self.assertGreaterEqual(diff(BytesIO(cover), BytesIO(original_cover), delete_diff_file=True), 0.05) +AssertionError: 0.0 not greater than or equal to 0.05
@@ -2042,12 +2056,12 @@ Diff is 10795 characters long. Set self.maxDiff to None to see it. - + TestEditBooksOnGdrive 18 - 18 - 0 + 17 0 + 1 0 Detail @@ -2191,11 +2205,31 @@ Diff is 10795 characters long. Set self.maxDiff to None to see it. - +
TestEditBooksOnGdrive - test_edit_title
- PASS + +
+ ERROR +
+ + + + @@ -3374,13 +3408,13 @@ Diff is 10795 characters long. Set self.maxDiff to None to see it. TestOPDSFeed - 23 - 23 + 24 + 24 0 0 0 - Detail + Detail @@ -3559,7 +3593,7 @@ Diff is 10795 characters long. Set self.maxDiff to None to see it. -
TestOPDSFeed - test_opds_tags
+
TestOPDSFeed - test_opds_stats
PASS @@ -3568,7 +3602,7 @@ Diff is 10795 characters long. Set self.maxDiff to None to see it. -
TestOPDSFeed - test_opds_top_rated
+
TestOPDSFeed - test_opds_tags
PASS @@ -3577,7 +3611,7 @@ Diff is 10795 characters long. Set self.maxDiff to None to see it. -
TestOPDSFeed - test_opds_unicode_user
+
TestOPDSFeed - test_opds_top_rated
PASS @@ -3585,6 +3619,15 @@ Diff is 10795 characters long. Set self.maxDiff to None to see it. + +
TestOPDSFeed - test_opds_unicode_user
+ + PASS + + + + +
TestOPDSFeed - test_recently_added
@@ -3594,12 +3637,12 @@ Diff is 10795 characters long. Set self.maxDiff to None to see it. - - TestUploadPDF - 1 + + _FailedTest 1 0 0 + 1 0 Detail @@ -3608,11 +3651,37 @@ Diff is 10795 characters long. Set self.maxDiff to None to see it. - + -
TestUploadPDF - test_upload_invalid_pdf
+
_FailedTest - test_pdf_metadata
+ + +
+ ERROR +
+ + + - PASS @@ -3660,12 +3729,12 @@ Diff is 10795 characters long. Set self.maxDiff to None to see it. - + TestReader 6 - 6 - 0 + 5 0 + 1 0 Detail @@ -3674,11 +3743,47 @@ Diff is 10795 characters long. Set self.maxDiff to None to see it. - +
TestReader - test_comic_MACOS_files
- PASS + +
+ ERROR +
+ + + + @@ -5237,10 +5342,10 @@ Diff is 10795 characters long. Set self.maxDiff to None to see it. Total - 461 - 448 - 1 + 462 + 445 3 + 5 9   @@ -5311,13 +5416,13 @@ Diff is 10795 characters long. Set self.maxDiff to None to see it. flask-babel - 3.0.1 + 3.1.0 Basic Flask-Limiter - 3.3.1 + 3.4.1 Basic @@ -5371,19 +5476,19 @@ Diff is 10795 characters long. Set self.maxDiff to None to see it. pypdf - 3.7.1 + 3.15.4 Basic pytz - 2022.7.1 + 2023.3 Basic requests - 2.28.2 + 2.31.0 Basic @@ -5395,7 +5500,7 @@ Diff is 10795 characters long. Set self.maxDiff to None to see it. tornado - 6.2 + 6.3.3 Basic @@ -5731,7 +5836,7 @@ Diff is 10795 characters long. Set self.maxDiff to None to see it.