From 3ad254b829e45a3df3ac4abd6a2d7c3b287c2f0e Mon Sep 17 00:00:00 2001 From: Maari Tamm Date: Tue, 8 Oct 2024 07:57:50 +0200 Subject: [PATCH] Drop support for Python 3.8; XBlock <2 --- .github/workflows/tox.yml | 5 ++--- markdown_xblock/html.py | 26 ++++++-------------------- setup.py | 3 +-- tox.ini | 3 +-- 4 files changed, 10 insertions(+), 27 deletions(-) diff --git a/.github/workflows/tox.yml b/.github/workflows/tox.yml index d0f22c4..2d6187b 100644 --- a/.github/workflows/tox.yml +++ b/.github/workflows/tox.yml @@ -10,7 +10,6 @@ jobs: strategy: matrix: python-version: - - '3.8' - '3.11' pip-version: - 22.0.4 @@ -49,10 +48,10 @@ jobs: uses: actions/checkout@v1 - name: Download artifacts uses: actions/download-artifact@v2 - - name: Set up Python 3.8 + - name: Set up Python 3.11 uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.11 - name: Install dependencies run: | pip install coverage diff --git a/markdown_xblock/html.py b/markdown_xblock/html.py index d9cd319..b31c3f8 100644 --- a/markdown_xblock/html.py +++ b/markdown_xblock/html.py @@ -8,16 +8,10 @@ from django.conf import settings as django_settings from xblock.core import XBlock from xblock.fields import List, Scope, String -try: # XBlock 2+ - 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 -except ImportError: # Compatibility with XBlock<2 - 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 _ @@ -282,21 +276,13 @@ def get_editable_fields(self): return fields @classmethod - def parse_xml(cls, node, runtime, keys, id_generator=None): + def parse_xml(cls, node, runtime, keys): """ Use `node` to construct a new block. """ block = runtime.construct_xblock_from_class(cls, keys) - # Prior to XBlock 2.0, id_generator is passed in. - # Since XBlock 2.0, we grab it from the runtime. - # - # TODO: Once we decide to drop support for versions prior to - # XBlock 2 (i.e. Open edX releases before Redwood), we can - # drop id_generator from the method signature, and always rely - # on runtime.id_generator. - if not id_generator: - id_generator = runtime.id_generator + id_generator = runtime.id_generator # Read markdown content from file and add to editor. url_name = node.get('url_name', node.get('slug')) diff --git a/setup.py b/setup.py index 518c85a..e37fa22 100644 --- a/setup.py +++ b/setup.py @@ -41,8 +41,7 @@ def package_data(pkg, roots): 'markdown_xblock', ], install_requires=[ - 'XBlock<2; python_version < "3.9"', - 'XBlock<5; python_version >= "3.9"', + 'XBlock<5', 'markdown2>=2.3.9', 'Pygments>=2.0.1', ], diff --git a/tox.ini b/tox.ini index 14c70fc..0e02e43 100644 --- a/tox.ini +++ b/tox.ini @@ -1,9 +1,8 @@ [tox] -envlist = py{38,311,312},pipdeptree{,-requirements},flake8,report +envlist = py{311,312},pipdeptree{,-requirements},flake8,report [gh-actions] python = - 3.8: py38,pipdeptree{,-requirements},flake8 3.11: py311,pipdeptree{,-requirements},flake8 3.12: py312,pipdeptree{,-requirements},flake8