diff --git a/cps/db.py b/cps/db.py index 989731e5..feee7a8f 100644 --- a/cps/db.py +++ b/cps/db.py @@ -1115,7 +1115,7 @@ class CalibreDB: .group_by(text('books_languages_link.lang_code')).all() tags = list() for lang in languages: - tag = Category(isoLanguages.get_language_name(get_locale(), None, lang[0].lang_code), lang[0].lang_code) + tag = Category(isoLanguages.get_language_name(get_locale(), lang[0].lang_code), lang[0].lang_code) tags.append([tag, lang[1]]) # Append all books without language to list if not return_all_languages: diff --git a/pyproject.toml b/pyproject.toml index 24b5a3cd..67a7acca 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,12 +33,12 @@ dependencies = [ "Flask>=1.0.2,<3.2.0", "iso-639>=0.4.5,<0.5.0;python_version<'3.12'", "pycountry>=20.0.0,<27.0.0;python_version>='3.12'", - "PyPDF>=6.1.3,<6.8.0", + "PyPDF>=6.1.3,<6.11.0", "pytz>=2016.10", "requests>=2.32.0,<2.33.0", "SQLAlchemy>=1.3.0,<2.1.0", "tornado>=6.4.2,<6.6", - "Wand>=0.4.4,<0.7.0", + "Wand>=0.4.4,<0.8.0", "unidecode>=0.04.19,<1.5.0", "lxml>=4.9.1,<5.4.0", "flask-wtf>=0.14.2,<1.3.0", @@ -51,7 +51,7 @@ dependencies = [ "python-magic>=0.4.27,<0.5.0", "python-magic-bin>=0.4.0,<0.5.0;sys_platform=='win32'", "flask-httpAuth>=4.4.0,<5.0.0", - "cryptography>=39.0.0,<47.0.0", + "cryptography>=39.0.0,<48.0.0", "certifi>=2024.7.4,<2026.1.5", ] dynamic = ["version"] diff --git a/test/Calibre-Web TestSummary_Linux.html b/test/Calibre-Web TestSummary_Linux.html index 11271fe2..7a0eb669 100644 --- a/test/Calibre-Web TestSummary_Linux.html +++ b/test/Calibre-Web TestSummary_Linux.html @@ -37,20 +37,20 @@
Start Time: 2026-02-18 19:25:49
+Start Time: 2026-04-25 16:06:06
Stop Time: 2026-02-19 02:59:10
+Stop Time: 2026-04-25 23:02:36
Duration: 6h 16 min
+Duration: 5h 43 min
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_anonymous.py", line 262, in test_guest_change_visibility_language + self.assertEqual(books[0]['id'], 'eng') + ~~~~~^^^ +IndexError: list index out of range+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_anonymous.py", line 45, in tearDown + self.check_element_on_page((By.ID, "top_user")).click() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'bool' object has no attribute 'click'+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_anonymous.py", line 324, in test_guest_change_visibility_publisher + self.assertTrue(self.check_element_on_page((By.ID, "flash_success"))) +AssertionError: False is not true+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_anonymous.py", line 45, in tearDown + self.check_element_on_page((By.ID, "top_user")).click() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'bool' object has no attribute 'click'+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_anonymous.py", line 235, in test_guest_change_visibility_rated + self.assertTrue(self.check_element_on_page((By.ID, "flash_success"))) +AssertionError: False is not true+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_anonymous.py", line 45, in tearDown + self.check_element_on_page((By.ID, "top_user")).click() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'bool' object has no attribute 'click'+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_anonymous.py", line 369, in test_guest_change_visibility_rating + self.assertTrue(self.check_element_on_page((By.ID, "flash_success"))) +AssertionError: False is not true+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_anonymous.py", line 45, in tearDown + self.check_element_on_page((By.ID, "top_user")).click() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'bool' object has no attribute 'click'+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_anonymous.py", line 295, in test_guest_change_visibility_series + self.assertTrue(self.check_element_on_page((By.ID, "flash_success"))) +AssertionError: False is not true+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_anonymous.py", line 45, in tearDown + self.check_element_on_page((By.ID, "top_user")).click() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'bool' object has no attribute 'click'+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_anonymous.py", line 60, in test_guest_random_books_available + self.assertTrue(self.check_element_on_page((By.ID, "books_rand"))) +AssertionError: False is not true+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_anonymous.py", line 45, in tearDown + self.check_element_on_page((By.ID, "top_user")).click() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'bool' object has no attribute 'click'+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_anonymous.py", line 396, in test_guest_restricted_settings_visibility + self.assertIsNone(rights['show_512']) + ~~~~~~^^^^^^^^^^^^ +TypeError: 'bool' object is not subscriptable+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_anonymous.py", line 45, in tearDown + self.check_element_on_page((By.ID, "top_user")).click() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'bool' object has no attribute 'click'+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_anonymous.py", line 141, in test_guest_visibility_sidebar + self.assertTrue(self.check_element_on_page((By.ID, "flash_success"))) +AssertionError: False is not true+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_anonymous.py", line 45, in tearDown + self.check_element_on_page((By.ID, "top_user")).click() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'bool' object has no attribute 'click'+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_edit_books.py", line 451, in test_edit_language + self.assertEqual(list_element[1].text, u'German') + ~~~~~~~~~~~~^^^ +IndexError: list index out of range+
Traceback (most recent call last): - File "/home/ozzie/Development/calibre-web-test/test/test_edit_books_metadata.py", line 220, in test_load_metadata - self.assertLessEqual(diff(BytesIO(cover), BytesIO(new_cover), delete_diff_file=True), 0.025) -AssertionError: 0.04218017335689641 not less than or equal to 0.025+ File "/home/ozzie/Development/calibre-web-test/test/test_edit_books_list.py", line 267, in test_bookslist_edit_languages + self.assertEqual(5, len(elements)) +AssertionError: 5 != 0 +
Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_edit_books_list.py", line 229, in test_bookslist_edit_publisher
+ self.assertEqual("+", bl['table'][4]['Publishers']['text'])
+ ~~~~~~~~~~~^^^
+IndexError: list index out of range
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_edit_books_list.py", line 207, in test_bookslist_edit_series
+ self.assertEqual("+", bl['table'][3]['Series']['text'])
+ ~~~~~~~~~~~^^^
+IndexError: list index out of range
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_edit_books_list.py", line 281, in test_bookslist_edit_seriesindex
+ self.assertEqual("+", bl['table'][4]['Series Index']['text'])
+ ~~~~~~~~~~~^^^
+IndexError: list index out of range
+ Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_edit_books_list.py", line 107, in test_bookslist_edit_title + self.edit_table_element(bl['table'][3]['Title']['element'], "Die Buc\"t'itel") + ~~~~~~~~~~~^^^ +IndexError: list index out of range+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_edit_books_list.py", line 309, in test_list_visibility + self.assertTrue(bl['column']) +AssertionError: False is not true+
Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_edit_books_list.py", line 329, in test_restricted_rights
+ self.assertTrue('Delete' in bl['table'][0])
+ ~~~~~~~~~~~^^^
+IndexError: list index out of range
+ Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_edit_books_list.py", line 84, in test_search_books_list + self.assertEqual(10, len(bl['table'])) +AssertionError: 10 != 0
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_edit_ebooks_gdrive.py", line 607, in test_edit_language + self.assertEqual(list_element[1].text, 'German') + ~~~~~~~~~~~~^^^ +IndexError: list index out of range+
Traceback (most recent call last): - File "/home/ozzie/Development/calibre-web-test/test/test_edit_metadata_scholar.py", line 74, in test_load_metadata - self.assertEqual(30, len(results)) -AssertionError: 30 != 20-
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_embed_metadata.py", line 84, in test_download_check_metadata + self.assertEqual(20746, len(epub_content)) +AssertionError: 20746 != 6972+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_embed_metadata.py", line 108, in test_download_permissions_missing_file + self.assertEqual(20746, len(epub_content)) +AssertionError: 20746 != 6972+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_list_orders.py", line 211, in test_lang_sort + self.assertEqual(list_element[0]['title'], "English") + ~~~~~~~~~~~~^^^ +IndexError: list index out of range+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_list_orders.py", line 546, in test_language_click_none + self.assertTrue(int(element['count']) > 0) + ^^^^^^^ +UnboundLocalError: cannot access local variable 'element' where it is not associated with a value+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_list_orders.py", line 434, in test_order_authors_all_links + self.check_element_on_page((By.ID, "asc")).click() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'bool' object has no attribute 'click'+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_list_orders.py", line 367, in test_order_series_all_links + self.assertTrue(list) +AssertionError: False is not true+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_list_orders.py", line 557, in test_publisher_click_none + self.assertTrue(int(element['count']) > 0) + ^^^^^^^ +UnboundLocalError: cannot access local variable 'element' where it is not associated with a value+
ImportError: Failed to import test module: test_pip_install +Traceback (most recent call last): + File "/usr/lib/python3.12/unittest/loader.py", line 394, in _find_test_path + module = self._get_module_from_name(name) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/unittest/loader.py", line 337, in _get_module_from_name + __import__(name) + File "/home/ozzie/Development/calibre-web-test/test/test_pip_install.py", line 19, in <module> + from build_release import make_release + File "/home/ozzie/Development/calibre-web-test/build_release/make_release.py", line 30, in <module> + from helper_environment import environment, add_dependency +ImportError: cannot import name 'add_dependency' from 'helper_environment' (/home/ozzie/Development/calibre-web-test/test/helper_environment.py)+
Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_upload_epubs.py", line 101, in test_upload_epub_lang
+ self.assertEqual('Tedesco', list_element[3].text)
+ ~~~~~~~~~~~~^^^
+IndexError: list index out of range
+ Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 511, in test_detail_random_user_template + list_element[0].click() + ~~~~~~~~~~~~^^^ +IndexError: list index out of range+
Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 44, in tearDown
+ self.login('admin', 'admin123')
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 91, in login
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.ID, "username")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 409, in test_download_user_template
+ self.fill_view_config({'show_65536': 0})
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 397, in fill_view_config
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.CLASS_NAME, "discover")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 44, in tearDown
+ self.login('admin', 'admin123')
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 91, in login
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.ID, "username")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 293, in test_format_user_template
+ self.fill_view_config({'show_16384': 0})
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 397, in fill_view_config
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.CLASS_NAME, "discover")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 44, in tearDown
+ self.login('admin', 'admin123')
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 91, in login
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.ID, "username")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 120, in test_hot_user_template
+ self.fill_view_config({'show_16': 0})
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 397, in fill_view_config
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.CLASS_NAME, "discover")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 44, in tearDown
+ self.login('admin', 'admin123')
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 91, in login
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.ID, "username")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 178, in test_language_user_template
+ self.fill_view_config({'show_2': 0})
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 397, in fill_view_config
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.CLASS_NAME, "discover")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 44, in tearDown
+ self.login('admin', 'admin123')
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 91, in login
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.ID, "username")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 566, in test_limit_book_languages + default_language = Select(self.check_element_on_page((By.ID, "default_language"))) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/select.py", line 36, in __init__ + if webelement.tag_name.lower() != "select": + ^^^^^^^^^^^^^^^^^^^ +AttributeError: 'bool' object has no attribute 'tag_name'+
Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 44, in tearDown
+ self.login('admin', 'admin123')
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 91, in login
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.ID, "username")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 438, in test_list_user_template
+ self.fill_view_config({'show_131072': 0})
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 397, in fill_view_config
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.CLASS_NAME, "discover")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 44, in tearDown
+ self.login('admin', 'admin123')
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 91, in login
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.ID, "username")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 264, in test_publisher_user_template
+ self.fill_view_config({'show_4096': 0})
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 397, in fill_view_config
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.CLASS_NAME, "discover")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 44, in tearDown
+ self.login('admin', 'admin123')
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 91, in login
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.ID, "username")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 47, in test_random_user_template
+ self.fill_view_config({'show_32': 0})
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 397, in fill_view_config
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.CLASS_NAME, "discover")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 44, in tearDown
+ self.login('admin', 'admin123')
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 91, in login
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.ID, "username")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 380, in test_read_user_template
+ self.fill_view_config({'show_256': 0})
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 397, in fill_view_config
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.CLASS_NAME, "discover")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 44, in tearDown
+ self.login('admin', 'admin123')
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 91, in login
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.ID, "username")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 86, in test_recent_user_template
+ self.fill_view_config({'show_4': 0, 'show_8': 0, 'show_16': 0, 'show_32': 0, 'show_64': 0, 'show_128': 0,
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 397, in fill_view_config
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.CLASS_NAME, "discover")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 44, in tearDown
+ self.login('admin', 'admin123')
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 91, in login
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.ID, "username")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 207, in test_series_user_template
+ self.fill_view_config({'show_4': 0})
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 397, in fill_view_config
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.CLASS_NAME, "discover")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 44, in tearDown
+ self.login('admin', 'admin123')
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 91, in login
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.ID, "username")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 557, in test_ui_language_settings + self.assertEqual(username.text, 'Benutzername') + ^^^^^^^^^^^^^ +AttributeError: 'bool' object has no attribute 'text'+
Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_user_template.py", line 44, in tearDown
+ self.login('admin', 'admin123')
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 91, in login
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.ID, "username")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_visiblilitys.py", line 259, in test_admin_change_visibility_language
+ self.verify_order("nav_lang", 0, order=order)
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 1409, in verify_order
+ list_elements[index]['ele'].click()
+ ~~~~~~~~~~~~~^^^^^^^
+IndexError: list index out of range
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_visiblilitys.py", line 319, in test_admin_change_visibility_publisher
+ self.change_user({'show_4096': 0})
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 1080, in change_user
+ ele = cls.driver.find_element(By.ID, checkbox)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 922, in find_element
+ return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 454, in execute
+ self.error_handler.check_response(response)
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 232, in check_response
+ raise exception_class(message, screen, stacktrace)
+selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [id="show_4096"]; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#nosuchelementexception
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_visiblilitys.py", line 284, in test_admin_change_visibility_random
+ self.change_user({'show_32': 0})
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 1080, in change_user
+ ele = cls.driver.find_element(By.ID, checkbox)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 922, in find_element
+ return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 454, in execute
+ self.error_handler.check_response(response)
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 232, in check_response
+ raise exception_class(message, screen, stacktrace)
+selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [id="show_32"]; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#nosuchelementexception
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_visiblilitys.py", line 181, in test_admin_change_visibility_rated
+ self.change_user({'show_128': 0})
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 1080, in change_user
+ ele = cls.driver.find_element(By.ID, checkbox)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 922, in find_element
+ return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 454, in execute
+ self.error_handler.check_response(response)
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 232, in check_response
+ raise exception_class(message, screen, stacktrace)
+selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [id="show_128"]; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#nosuchelementexception
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_visiblilitys.py", line 340, in test_admin_change_visibility_rating
+ self.change_user({'show_8192': 0})
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 1080, in change_user
+ ele = cls.driver.find_element(By.ID, checkbox)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 922, in find_element
+ return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 454, in execute
+ self.error_handler.check_response(response)
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 232, in check_response
+ raise exception_class(message, screen, stacktrace)
+selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [id="show_8192"]; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#nosuchelementexception
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_visiblilitys.py", line 202, in test_admin_change_visibility_read
+ self.change_user({'show_256': 0})
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 1080, in change_user
+ ele = cls.driver.find_element(By.ID, checkbox)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 922, in find_element
+ return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 454, in execute
+ self.error_handler.check_response(response)
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 232, in check_response
+ raise exception_class(message, screen, stacktrace)
+selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [id="show_256"]; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#nosuchelementexception
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_visiblilitys.py", line 296, in test_admin_change_visibility_series
+ self.change_user({'show_4': 0})
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 1080, in change_user
+ ele = cls.driver.find_element(By.ID, checkbox)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 922, in find_element
+ return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 454, in execute
+ self.error_handler.check_response(response)
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 232, in check_response
+ raise exception_class(message, screen, stacktrace)
+selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [id="show_4"]; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#nosuchelementexception
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last):
+ File "/home/ozzie/Development/calibre-web-test/test/test_visiblilitys.py", line 745, in test_allow_columns
+ self.fill_view_config({'config_restricted_column': "Custom Text 人物 *'()&"})
+ File "/home/ozzie/Development/calibre-web-test/test/helper_ui.py", line 397, in fill_view_config
+ WebDriverWait(cls.driver, 5).until(EC.presence_of_element_located((By.CLASS_NAME, "discover")))
+ File "/home/ozzie/Development/calibre-web-test/venv/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 138, in until
+ raise TimeoutException(message, screen, stacktrace)
+selenium.common.exceptions.TimeoutException: Message:
+Stacktrace:
+RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
+WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:202:5
+NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:555:5
+dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16
+ Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_visiblilitys.py", line 609, in test_allow_tags + self.assertTrue(self.check_element_on_page((By.ID, "flash_success"))) +AssertionError: False is not true+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_visiblilitys.py", line 83, in test_random_books_available + list_element[0].click() + ~~~~~~~~~~~~^^^ +IndexError: list index out of range+
Traceback (most recent call last): + File "/home/ozzie/Development/calibre-web-test/test/test_visiblilitys.py", line 153, in test_user_visibility_sidebar + list_element[0].click() + ~~~~~~~~~~~~^^^ +IndexError: list index out of range+