Skip to content

HyperKitty is incompitible with mistune>=3.0

+ /opt/mailman/mm/bin/django-admin compress
Traceback (most recent call last):
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/django/template/utils.py", line 66, in __getitem__
    return self._engines[alias]
KeyError: 'django'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/django/template/backends/django.py", line 121, in get_package_libraries
    module = import_module(entry[1])
  File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/hyperkitty/templatetags/decorate.py", line 4, in <module>
    from hyperkitty.lib.renderer import markdown_renderer, text_renderer
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/hyperkitty/lib/renderer.py", line 6, in <module>
    from mistune.plugins.extra import plugin_url
ModuleNotFoundError: No module named 'mistune.plugins.extra'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/mailman/mm/venv_rel/bin/django-admin", line 8, in <module>
    sys.exit(execute_from_command_line())
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/django/core/management/__init__.py", line 413, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/django/core/management/base.py", line 354, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/django/core/management/base.py", line 398, in execute
    output = self.handle(*args, **options)
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/compressor/management/commands/compress.py", line 296, in handle
    self.handle_inner(**options)
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/compressor/management/commands/compress.py", line 319, in handle_inner
    offline_manifest, block_count, results = self.compress(engine, extensions, verbosity, follow_links, log)
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/compressor/management/commands/compress.py", line 101, in compress
    if not self.get_loaders():
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/compressor/management/commands/compress.py", line 51, in get_loaders
    for e in engines.all():
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/django/template/utils.py", line 90, in all
    return [self[alias] for alias in self]
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/django/template/utils.py", line 90, in <listcomp>
    return [self[alias] for alias in self]
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/django/template/utils.py", line 81, in __getitem__
    engine = engine_cls(params)
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/django/template/backends/django.py", line 25, in __init__
    options['libraries'] = self.get_templatetag_libraries(libraries)
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/django/template/backends/django.py", line 43, in get_templatetag_libraries
    libraries = get_installed_libraries()
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/django/template/backends/django.py", line 108, in get_installed_libraries
    for name in get_package_libraries(pkg):
  File "/opt/mailman/mm/venv_rel/lib/python3.9/site-packages/django/template/backends/django.py", line 123, in get_package_libraries
    raise InvalidTemplateLibrary(
django.template.library.InvalidTemplateLibrary: Invalid template library specified. ImportError raised when trying to load 'hyperkitty.templatetags.decorate': No module named 'mistune.plugins.extra'

There is no extra.py in mistune/plugins/ in mistune 3.0.0a3. It is not clear what the final will look like, but it would be good for now to require mistune>=2.0.0,<3.0