ckan / ckanext-harvest

Remote harvesting extension for CKAN
130 stars 203 forks source link

truncate helper is not defined #474

Closed frafra closed 2 years ago

frafra commented 2 years ago

ckanext-harvest seems to have some problem with CKAN master. Potentially related: https://github.com/ckan/ckan/pull/6299

ERROR [ckan.config.middleware.flask_app] Helper 'truncate' has not been defined.
Traceback (most recent call last):
  File "/usr/lib/ckan/venv/src/ckan/ckan/lib/helpers.py", line 93, in __getitem__
    value = super(HelperAttributeDict, self).__getitem__(key)
KeyError: 'truncate'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/flask/app.py", line 1516, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/flask/app.py", line 1502, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/usr/lib/ckan/venv/src/ckan/ckan/config/middleware/../../views/dataset.py", line 381, in search
    return base.render(
  File "/usr/lib/ckan/venv/src/ckan/ckan/lib/base.py", line 101, in render
    return flask_render_template(template_name, **extra_vars)
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/flask/templating.py", line 147, in render_template
    return _render(
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/flask/templating.py", line 128, in _render
    rv = template.render(context)
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/jinja2/environment.py", line 1304, in render
    self.environment.handle_exception()
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/jinja2/environment.py", line 925, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/ckanext/harvest/plugin/../templates/source/search.html", line 11, in top-level template code
    {% if g.ckan_base_version.startswith('2.0') %}
  File "/usr/lib/ckan/venv/src/ckan/ckan/templates/page.html", line 1, in top-level template code
    {% extends "base.html" %}
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/ckanext/harvest/plugin/../templates/base.html", line 1, in top-level template code
    {% ckan_extends %}
  File "/usr/lib/ckan/venv/src/ckan/ckan/templates/base.html", line 106, in top-level template code
    {%- block page %}{% endblock -%}
  File "/usr/lib/ckan/venv/src/ckan/ckan/templates/page.html", line 19, in block 'page'
    {%- block content %}
  File "/usr/lib/ckan/venv/src/ckan/ckan/templates/page.html", line 22, in block 'content'
    {% block main_content %}
  File "/usr/lib/ckan/venv/src/ckan/ckan/templates/page.html", line 74, in block 'main_content'
    {% block primary %}
  File "/usr/lib/ckan/venv/src/ckan/ckan/templates/page.html", line 87, in block 'primary'
    {% block primary_content %}
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/ckanext/harvest/plugin/../templates/source/search.html", line 52, in block 'primary_content'
    {{ h.snippet('snippets/source_list.html', sources=c.page.items, show_organization=true) }}
  File "/usr/lib/ckan/venv/src/ckan/ckan/lib/helpers.py", line 1874, in snippet
    return base.render_snippet(template_name, **kw)
  File "/usr/lib/ckan/venv/src/ckan/ckan/lib/base.py", line 67, in render_snippet
    output = render(template_name, extra_vars=kw)
  File "/usr/lib/ckan/venv/src/ckan/ckan/lib/base.py", line 101, in render
    return flask_render_template(template_name, **extra_vars)
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/flask/templating.py", line 147, in render_template
    return _render(
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/flask/templating.py", line 128, in _render
    rv = template.render(context)
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/jinja2/environment.py", line 1304, in render
    self.environment.handle_exception()
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/jinja2/environment.py", line 925, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/ckanext/harvest/plugin/../templates/snippets/source_list.html", line 20, in top-level template code
    {% snippet 'snippets/source_item.html', source=source, item_class=item_class, hide_resources=hide_resources, banner=banner, truncate=truncate, truncate_title=truncate_title, within_organization=within_organization %}
  File "/usr/lib/ckan/venv/src/ckan/ckan/lib/jinja_extensions.py", line 269, in _call
    return base.render_snippet(*args, **kwargs)
  File "/usr/lib/ckan/venv/src/ckan/ckan/lib/base.py", line 67, in render_snippet
    output = render(template_name, extra_vars=kw)
  File "/usr/lib/ckan/venv/src/ckan/ckan/lib/base.py", line 101, in render
    return flask_render_template(template_name, **extra_vars)
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/flask/templating.py", line 147, in render_template
    return _render(
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/flask/templating.py", line 128, in _render
    rv = template.render(context)
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/jinja2/environment.py", line 1304, in render
    self.environment.handle_exception()
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/jinja2/environment.py", line 925, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/ckanext/harvest/plugin/../templates/snippets/source_item.html", line 26, in top-level template code
    {{ h.link_to(h.truncate(title, truncate_title), url) }}
  File "/usr/lib/ckan/venv/lib/python3.8/site-packages/jinja2/environment.py", line 478, in getattr
    return obj[attribute]
  File "/usr/lib/ckan/venv/src/ckan/ckan/lib/helpers.py", line 95, in __getitem__
    raise ckan.exceptions.HelperError(
ckan.exceptions.HelperError: Helper 'truncate' has not been defined.