UPDATE
1.0.78
1) Fixed the appearance of the "names.client" error for images with the old or truncated twisted library (Merlin, Pure2, e.t.c.)
2) The functionality of xml_escape and xml_unescape for XML files has been completely rewritten. Instead of the previously used xml.sax.saxutils module, precompiled rules for regexp, and the name2codepoint module are now used. This increased both the speed and quality of processing. Often, the descriptions of programs in XMLTV contained HTML tags that got there due to poor parsing by the provider of HTML resources with descriptions of programs ... Now, thanks to name2codepoint, unescape of program descriptions is much cleaner and more accurate ... taking into account the unescape of all possible XML and HTML tags
3) For images with threads.deferToThread support (90% of existing images), no temporary files are almost ever created now. All operations for downloading and processing any data occur in the RAM-"pipe". Temporary files will be created automatically if and only if there is not enough free RAM to store and process data... moreover, they will be created on the media with the largest available free space. Information about available RAM and the amount of cached data is displayed in the log. Storage and processing in RAM - eliminates slow read/write operations on any media. Operations in RAM are a priori the fastest!
4) Any operations of parsing m3u or XML files are done on the basis of "generators". Generators in python are the fastest and least "gluttonous" functions both in terms of CPU and RAM resources