Hi kiwidude, thank you and StegSchreck for taking a stab at helping "those of" us, much appreciated!
Quote:
Originally Posted by kiwidude
|
Unfortunately, as you suggested it can be difficult without a test environment. I happened into Calibre today to look for a book, saw the plugin update, updated & tried it. New error message:
Code:
AttributeError: 'HTTPSConnectionWithTimeout' object has no attribute 'key_file'
Long version (popup window show details)
Spoiler:
Quote:
calibre, version 7.11.0
ERROR: Unhandled exception: <b>AttributeError</b>:'HTTPSConnectionWithTimeout' object has no attribute 'key_file'
calibre 7.11 embedded-python: False
Linux-6.9.2-arch1-1-x86_64-with-glibc2.39 Linux ('64bit', 'ELF')
('Linux', '6.9.2-arch1-1', '#1 SMP PREEMPT_DYNAMIC Sun, 26 May 2024 01:30:29 +0000')
Python 3.12.3
Interface language: None
EXE path: /usr/bin/python3
Successfully initialized third party plugins: DeACSM (0, 0, 16) && DeDRM (10, 0, 3) && Goodreads Sync (1, 16, 6) && Obok DeDRM (10, 0, 3)
Traceback (most recent call last):
File "calibre_plugins.goodreads_sync.action", line 436, in search_goodreads_to_link_book
self.search_to_link_books(calibre_books)
File "calibre_plugins.goodreads_sync.action", line 458, in search_to_link_books
goodreads_id_for_isbn = self.grhttp.get_goodreads_id_for_isbn(isbn)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "calibre_plugins.goodreads_sync.core", line 416, in get_goodreads_id_for_isbn
(response, content) = self._request_get(url, suppress_status='404')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "calibre_plugins.goodreads_sync.core", line 176, in _request_get
response, content = h.request(url, method='GET')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "calibre_plugins.goodreads_sync.httplib2.__init__" , line 1688, in request
(response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "calibre_plugins.goodreads_sync.httplib2.__init__" , line 1428, in _request
(response, content) = self._conn_request(conn, request_uri, method, body, headers)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^
File "calibre_plugins.goodreads_sync.httplib2.__init__" , line 1348, in _conn_request
conn.connect()
File "calibre_plugins.goodreads_sync.httplib2.__init__" , line 1098, in connect
sock, self.key_file, self.cert_file,
^^^^^^^^^^^^^
AttributeError: 'HTTPSConnectionWithTimeout' object has no attribute 'key_file'
|
I'm more than glad to try out / troubleshoot / etc any other updates you may get/have to "battle" the Python updates. Unfortunately my light coding knowledge is in C++ (and some ancient expertise in Pascal & Perl) so I'm not much of a help with Python as far as proffering patches.
To address PeterT's question, yes, I use the distro's 'version' of Calibre. However, if I understand correctly, the Arch Linux 'version' simply utilizes an installer script to download and install Calibre direct from the source. Plugins are manually installed by users like me within Calibre.
DNSB's guess is correct, python is a separately maintained package for the distro. Arch Linux (and therefore Arch-based EndeavourOS) is a 'rolling' distro that updates parts as they come available.
Last, a quick apology for appearing to drop a message here then go silent. I thought by being subscribed to the topic I'd receive e-mail notifications of updates, but learned today didn't. I think I've got that turned on correctly now...