yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #92947
[Bug 1980214] Re: Django4: TemplateTagTests.test_site_branding_tag test failure in Debian unstable
Reviewed: https://review.opendev.org/c/openstack/horizon/+/851262
Committed: https://opendev.org/openstack/horizon/commit/b893bcdee32a640f148e1682485da849f0058f31
Submitter: "Zuul (22348)"
Branch: master
commit b893bcdee32a640f148e1682485da849f0058f31
Author: Akihiro Motoki <amotoki@xxxxxxxxx>
Date: Thu Jul 28 04:29:58 2022 +0900
Make site_branding tag work with Django 4.0
A test for site_branding tag starts to fail with Django 4.0.
It seems to happen as settings.SITE_BRANDING is _("Horizon") and
a translation marker _() is no longer evaluated during rendering.
As a solution, this commit changes the implementation of
site_branding tag to use "simple_tag" method
as django.template.Library.simple_tag() [1] seems to handle
an i18n-ed string properly.
[1] https://docs.djangoproject.com/en/4.0/howto/custom-template-tags/#simple-tags
Closes-Bug: #1980214
Change-Id: I6fdfffbeef2b405da21289d37722e3f068e27fea
** Changed in: horizon
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1980214
Title:
Django4: TemplateTagTests.test_site_branding_tag test failure in
Debian unstable
Status in OpenStack Dashboard (Horizon):
Fix Released
Bug description:
Hi,
Building Horizon (yoga) in Debian Unstable resulted in failure with
TemplateTagTests.test_site_branding_tag. Here's the build log:
___________________ TemplateTagTests.test_site_branding_tag ____________________
[gw9] linux -- Python 3.9.13 /usr/bin/python3.9
self =
<horizon.test.unit.templatetags.test_templatetags.TemplateTagTests
testMethod=test_site_branding_tag>
def test_site_branding_tag(self):
"""Test if site_branding tag renders the correct setting."""
> rendered_str = self.render_template_tag("site_branding", "branding")
horizon/test/unit/templatetags/test_templatetags.py:58:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
horizon/test/unit/templatetags/test_templatetags.py:47: in render_template_tag
return self.render_template(tag_call, tag_require)
horizon/test/unit/templatetags/test_templatetags.py:54: in render_template
return template.render(Context(context))
/usr/lib/python3/dist-packages/django/template/base.py:175: in render
return self._render(context)
/usr/lib/python3/dist-packages/django/test/utils.py:111: in instrumented_test_render
return self.nodelist.render(context)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = [<django.template.defaulttags.LoadNode object at 0x7efd84ca8d60>, <TextNode: ' '>, <horizon.templatetags.branding.SiteBrandingNode object at 0x7efd84ca82e0>]
context = [{'True': True, 'False': False, 'None': None}, {}]
def render(self, context):
> return SafeString("".join([node.render_annotated(context) for node in self]))
E TypeError: sequence item 2: expected str instance, __proxy__ found
To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/1980214/+subscriptions
References