* Replace pkg_resources with importlib.resources for Python 3.14 compatibility
* fix self.XPATH() calls to OPF.XPath() instead since 3.14 made functools.partial a descriptor and thus injected self as the first argument
* updated install instruction to include lxml to avoid using non matching system version
* Fix regex in LRF output that stripped CThumbnail metadata. .*? matched until >\n and cut off all children on the same line
---------
Co-authored-by: wave1martian <wave1martian@buildsleeprepeat.com>
There was only one function in module ipc: eintr_retry_call. This
function was used in pdftohtml module, and turns out[1] it's not needed
anymore. Support for retrying on syscall interrupts was introduced in
Python 3.5 (which was released in 2015), and covers subprocess module
among other modules. In this commit, mentioned eintr_retry_call function
has been removed, and couple of cosmetic changes was done in module
pdftohtml.
[1] https://www.python.org/dev/peps/pep-0475/
During development, turns out, that some incompatibility has been
introduced with lxml and html5-parser binary versions on pypy, with
library which is installed on my system. In case, where incompatibility
occurs, there was no error message, no exception thrown, just as a
result of parsing, lame lxml object has been returned, and performing
method like find() on it causes returning None instead of expected
Element object.
Following information about installation of the html5-library[1], I was
forced to change how ebook-converter is installed. Now, we have to build
and compile lxml on the target system, which is forced by introduced
requirements.txt file. Perhaps, I'll reconsider removing html5-parser in
the future.
[1] https://html5-parser.readthedocs.io/en/latest/#unix