From f7cf2c71da6142d6a15ada2c946c444fbd2c6969 Mon Sep 17 00:00:00 2001 From: Maari Tamm Date: Wed, 24 Jul 2024 12:52:11 +0200 Subject: [PATCH] Update the import statement for xblock-utils The `xblock-utils` library has been deprecated as a separate package; the `utils` library has been moved into the `XBlock` and should now be imported from `xblock.utils` instead. (https://github.com/openedx/XBlock/issues/675) Fixes: #38 --- .github/workflows/tox.yml | 1 + markdown_xblock/html.py | 12 ++++++------ requirements/base.txt | 3 +-- requirements/test.txt | 2 +- setup.py | 2 +- tox.ini | 3 ++- 6 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/tox.yml b/.github/workflows/tox.yml index d7f56db..02cb453 100644 --- a/.github/workflows/tox.yml +++ b/.github/workflows/tox.yml @@ -12,6 +12,7 @@ jobs: python-version: - '3.8' - '3.10' + - '3.11' pip-version: - 22.0.4 - 23.2.1 diff --git a/markdown_xblock/html.py b/markdown_xblock/html.py index c3aeefc..736171a 100644 --- a/markdown_xblock/html.py +++ b/markdown_xblock/html.py @@ -8,10 +8,10 @@ from django.conf import settings as django_settings from xblock.core import XBlock from xblock.fields import List, Scope, String -from xblock.fragment import Fragment -from xblockutils.resources import ResourceLoader -from xblockutils.settings import XBlockWithSettingsMixin -from xblockutils.studio_editable import StudioEditableXBlockMixin, loader +from web_fragments.fragment import Fragment +from xblock.utils.resources import ResourceLoader +from xblock.utils.settings import XBlockWithSettingsMixin +from xblock.utils.studio_editable import StudioEditableXBlockMixin, loader from .utils import _ @@ -276,7 +276,7 @@ def get_editable_fields(self): return fields @classmethod - def parse_xml(cls, node, runtime, keys, id_generator): + def parse_xml(cls, node, runtime, keys): """ Use `node` to construct a new block. """ @@ -284,7 +284,7 @@ def parse_xml(cls, node, runtime, keys, id_generator): # Read markdown content from file and add to editor. url_name = node.get('url_name', node.get('slug')) - location = id_generator.create_definition(node.tag, url_name) + location = runtime.id_generator.create_definition(node.tag, url_name) filename = node.get('filename') pointer_path = "{category}/{url_path}".format( diff --git a/requirements/base.txt b/requirements/base.txt index 606f4f6..5788dbc 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,7 +1,6 @@ # Requirements for app run -xblock-utils<=4.0.0 -xblock-sdk<0.9.0 +xblock-sdk django-statici18n<2.5 edx-i18n-tools<1.4 Mako==1.2.4 diff --git a/requirements/test.txt b/requirements/test.txt index c663775..a5c7ae6 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -11,4 +11,4 @@ mock==3.0.5 # Github requirements django-pyfs<3.2 -xblock-sdk<0.9.0 +xblock-sdk diff --git a/setup.py b/setup.py index f1d6d34..400e0f2 100644 --- a/setup.py +++ b/setup.py @@ -41,7 +41,7 @@ def package_data(pkg, roots): 'markdown_xblock', ], install_requires=[ - 'XBlock<=1.9', + 'XBlock>=2.0', 'markdown2>=2.3.9', 'Pygments>=2.0.1' ], diff --git a/tox.ini b/tox.ini index 0614211..4f2a752 100644 --- a/tox.ini +++ b/tox.ini @@ -1,10 +1,11 @@ [tox] -envlist = py{38,310,312},flake8,report +envlist = py{38,310,311,312},flake8,report [gh-actions] python = 3.8: py38,flake8 3.10: py310,flake8 + 3.11: py311,flake8 3.12: py312,flake8 [flake8]