Replace pkg_resources with importlib.resources for Python 3.14 compatibility

This commit is contained in:
wave1martian
2026-03-08 20:24:24 +01:00
parent c89fc132b8
commit 17c304066a
11 changed files with 32 additions and 44 deletions
@@ -3,7 +3,7 @@ Convert .fb2 files to .lrf
"""
import mimetypes
import os
import pkg_resources
from importlib.resources import files
import re
from lxml import etree
@@ -85,8 +85,8 @@ class FB2Input(InputFormatPlugin):
css = re.sub(r'name\s*=\s*', 'class=', css)
self.extract_embedded_content(doc)
log.debug('Converting XML to HTML...')
with open(pkg_resources.resource_filename('ebook_converter',
'data/fb2.xsl')) as f:
with open(str(files('ebook_converter')
.joinpath('data/fb2.xsl'))) as f:
ss = f.read()
ss = ss.replace("__FB_NS__", fb_ns)
if options.no_inline_fb2_toc:
@@ -1,5 +1,5 @@
import os
import pkg_resources
from importlib.resources import files
import re
import shutil
@@ -92,9 +92,8 @@ class HTMLOutput(OutputFormatPlugin):
with open(opts.template_html_index, 'rb') as f:
template_html_index_data = f.read()
else:
with open(pkg_resources.
resource_filename('ebook_converter',
'data/html_export_default_index.tmpl')
with open(str(files('ebook_converter')
.joinpath('data/html_export_default_index.tmpl'))
) as fobj:
template_html_index_data = fobj.read().decode()
@@ -102,9 +101,8 @@ class HTMLOutput(OutputFormatPlugin):
with open(opts.template_html, 'rb') as f:
template_html_data = f.read()
else:
with open(pkg_resources.
resource_filename('ebook_converter',
'data/html_export_default.tmpl')
with open(str(files('ebook_converter')
.joinpath('data/html_export_default.tmpl'))
) as fobj:
template_html_data = fobj.read().decode()
@@ -112,9 +110,8 @@ class HTMLOutput(OutputFormatPlugin):
with open(opts.template_css, 'rb') as f:
template_css_data = f.read()
else:
with open(pkg_resources.
resource_filename('ebook_converter',
'data/html_export_default.css')
with open(str(files('ebook_converter')
.joinpath('data/html_export_default.css'))
) as fobj:
template_css_data = fobj.read().decode()
@@ -1,6 +1,6 @@
import os
import sys
import pkg_resources
from importlib.resources import files
from lxml import etree
@@ -52,9 +52,8 @@ class LRFInput(InputFormatPlugin):
self.log.info('Converting XML to HTML...')
with open(pkg_resources.
resource_filename('ebook_converter',
'data/lrf.xsl')) as fobj:
with open(str(files('ebook_converter')
.joinpath('data/lrf.xsl'))) as fobj:
# TODO(gryf): change this nonsense to etree.parse() instead.
styledoc = etree.fromstring(fobj.read())
media_type = MediaType()
@@ -1,6 +1,6 @@
import glob
import os
import pkg_resources
from importlib.resources import files
import re
import textwrap
@@ -288,8 +288,8 @@ class RTFInput(InputFormatPlugin):
self.log.info('Converting XML to HTML...')
inline_class = InlineClass(self.log)
with open(pkg_resources.resource_filename('ebook_converter',
'data/rtf.xsl')) as fobj:
with open(str(files('ebook_converter')
.joinpath('data/rtf.xsl'))) as fobj:
styledoc = etree.fromstring(fobj.read())
extensions = {('calibre', 'inline-class'): inline_class}
transform = etree.XSLT(styledoc, extensions=extensions)