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/
There is a module, where this function is used - formatter_functions. It
is at the same time the only place where it is used. No need to clutter
__init__.py with it.
In Calibre, there was decided to keep the fonts information inside the
configuration directory. While scanned fonts information is actually a
cache, I would keep it there. This commit is making that happen.
Also removed XMLConfig in favor of JSONConfig class, since XMLConfig is
not used at all.
There was (and perhaps it exists in other modules, need to check) a bad
habit of importing objects out of module A into B just to be able of
import those object from module B. In this case there was import from
module config_base into module config. This commit fix this.
This is progressing refactor of the calibre code to make it more
readable, and transform it to something more coherent.
In this patch, there are changes regarding imports for some modules,
instead of polluting namespace of each module with some other modules
symbols, which often were imported from other modules. Yuck.