Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AttributeError in PDF export #2246

Closed
timobrembeck opened this issue Apr 24, 2023 · 0 comments · Fixed by #2248
Closed

AttributeError in PDF export #2246

timobrembeck opened this issue Apr 24, 2023 · 0 comments · Fixed by #2248
Assignees
Labels
🐛 bug Something isn't working ☺️ effort: low Should be doable in <4h 🆘 prio: urgent Needs to be resolved now(?)
Milestone

Comments

@timobrembeck
Copy link
Member

Describe the Bug

When a link has no link text, the PDF fails with an AttributeError.
This is the case when images are embedded with <img> tags.

Steps to Reproduce

  1. Insert img tag in page
  2. Export as PDF
  3. See error

Expected Behavior

The PDF should be created

Actual Behavior

An error occurs:

AttributeError: 'NoneType' object has no attribute 'split'

Additional Information

Traceback
Apr 24 10:25:04 ERROR   django.request - 500 Internal Server Error: /lkmuenchen/de/wp-json/ig-mpdf/v1/pdf/?url=%2Flkmuenchen%2Fde%2Finformationen-fuer-menschen-aus-der-ukraine%2Faufenthaltserlaubnis-beantragen
Traceback (most recent call last):
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/core/handlers/exception.py", line 47, in inner
  response = get_response(request)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/core/handlers/base.py", line 181, in _get_response
  response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/integreat_cms/api/decorators.py", line 123, in wrap
  return function(request, *args, **kwargs)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/integreat_cms/api/v3/pdf_export.py", line 57, in pdf_export
  return generate_pdf(region, language_slug, pages)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func
  response = view_func(request, *args, **kwargs)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/integreat_cms/cms/utils/pdf_utils.py", line 107, in generate_pdf
  html = get_template("pages/page_pdf.html").render(context)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/template/backends/django.py", line 61, in render
  return self.template.render(context)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/template/base.py", line 170, in render
  return self._render(context)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/template/base.py", line 162, in _render
  return self.nodelist.render(context)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
  bit = node.render_annotated(context)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
  return self.render(context)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 214, in render
  nodelist.append(node.render_annotated(context))
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
  return self.render(context)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/template/base.py", line 988, in render
  output = self.filter_expression.resolve(context)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/template/base.py", line 698, in resolve
  new_obj = func(obj, *arg_vals)
File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/integreat_cms/cms/templatetags/pdf_filters.py", line 57, in pdf_truncate_links
  Truncator(word).chars(max_chars) for word in elem.text.split(" ")
AttributeError: 'NoneType' object has no attribute 'split'

This is a regression of #2164.

@timobrembeck timobrembeck added 🐛 bug Something isn't working ☺️ effort: low Should be doable in <4h 🆘 prio: urgent Needs to be resolved now(?) labels Apr 24, 2023
@timobrembeck timobrembeck added this to the 23Q2 milestone Apr 24, 2023
@MizukiTemma MizukiTemma self-assigned this Apr 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛 bug Something isn't working ☺️ effort: low Should be doable in <4h 🆘 prio: urgent Needs to be resolved now(?)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants