diff --git a/cookiecutter-xblock/{{cookiecutter.repo_name}}/requirements/base.in b/cookiecutter-xblock/{{cookiecutter.repo_name}}/requirements/base.in index 42ea69ff..f861c397 100644 --- a/cookiecutter-xblock/{{cookiecutter.repo_name}}/requirements/base.in +++ b/cookiecutter-xblock/{{cookiecutter.repo_name}}/requirements/base.in @@ -5,3 +5,4 @@ django-statici18n edx-i18n-tools Mako XBlock +importlib-resources>=6.1.1 diff --git a/cookiecutter-xblock/{{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/{{cookiecutter.package_name}}.py b/cookiecutter-xblock/{{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/{{cookiecutter.package_name}}.py index 97ba1bfc..3f25bfb0 100644 --- a/cookiecutter-xblock/{{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/{{cookiecutter.package_name}}.py +++ b/cookiecutter-xblock/{{cookiecutter.repo_name}}/{{cookiecutter.package_name}}/{{cookiecutter.package_name}}.py @@ -1,6 +1,6 @@ """TO-DO: Write a description of what this XBlock is.""" -import pkg_resources +import importlib_resources as resources from django.utils import translation from web_fragments.fragment import Fragment from xblock.core import XBlock @@ -24,7 +24,7 @@ class {{cookiecutter.class_name}}(XBlock): def resource_string(self, path): """Handy helper for getting resources from our kit.""" - data = pkg_resources.resource_string(__name__, path) + data = resources.files(__package__).joinpath(path).read_bytes() return data.decode("utf8") # TO-DO: change this view to display your data your own way. @@ -93,10 +93,11 @@ def _get_statici18n_js_url(): text_js = 'public/js/translations/{locale_code}/text.js' lang_code = locale_code.split('-')[0] for code in (locale_code, lang_code, 'en'): - loader = ResourceLoader(__name__) - if pkg_resources.resource_exists( - loader.module_name, text_js.format(locale_code=code)): + try: + resources.files(__package__).joinpath(text_js.format(locale_code=code)).read_bytes() return text_js.format(locale_code=code) + except FileNotFoundError: + continue return None @staticmethod