From 63fae06786eb6144ce8645d37fab702a38ce2054 Mon Sep 17 00:00:00 2001 From: JiriKr <33967184+JiriKr@users.noreply.github.com> Date: Wed, 5 Apr 2023 22:11:21 +0200 Subject: [PATCH] Add importlib.resources as alternative for deprecated pkg_resources --- stdnum/numdb.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/stdnum/numdb.py b/stdnum/numdb.py index 8d4f286d..5d707dd4 100644 --- a/stdnum/numdb.py +++ b/stdnum/numdb.py @@ -61,7 +61,20 @@ import re -from pkg_resources import resource_stream + +try: + from importlib.resources import files + + def get_resource_stream(name): + """Return resource stream for given name""" + return files('stdnum').joinpath(name).open('rb') + +except ImportError: + from functools import partial + + from pkg_resources import resource_stream + + get_resource_stream = partial(resource_stream, __name__) _line_re = re.compile( @@ -165,6 +178,6 @@ def get(name): if name not in _open_databases: import codecs reader = codecs.getreader('utf-8') - with reader(resource_stream(__name__, name + '.dat')) as fp: + with reader(get_resource_stream(name + '.dat')) as fp: _open_databases[name] = read(fp) return _open_databases[name]