From ca7d09f583a8ee720a5ce09271fa5600beb348be Mon Sep 17 00:00:00 2001 From: Nicolas ROCHE Date: Tue, 10 Mar 2020 15:22:55 +0100 Subject: [PATCH] python3: provide string representations (#40570) --- bijoe/engine.py | 7 +++++-- bijoe/visualization/models.py | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/bijoe/engine.py b/bijoe/engine.py index c6f162f..8b1f0be 100644 --- a/bijoe/engine.py +++ b/bijoe/engine.py @@ -25,6 +25,7 @@ import psycopg2 from django.core.cache import cache from django.conf import settings from django.utils.encoding import force_bytes, force_text +from django.utils.six import python_2_unicode_compatible from django.utils.translation import ugettext_lazy as _ from . import schemas @@ -33,6 +34,7 @@ psycopg2.extensions.register_type(psycopg2.extensions.UNICODE) psycopg2.extensions.register_type(psycopg2.extensions.UNICODEARRAY) +@python_2_unicode_compatible class DimensionCell(collections.namedtuple('_Cell', ['dimension', 'value', 'value_label'])): @property def label(self): @@ -45,10 +47,11 @@ class DimensionCell(collections.namedtuple('_Cell', ['dimension', 'value', 'valu else: return force_text(self.value) - def __unicode__(self): + def __str__(self): return force_text(self.label) +@python_2_unicode_compatible class MeasureCell(collections.namedtuple('_Cell', ['measure', 'value'])): @property def label(self): @@ -87,7 +90,7 @@ class MeasureCell(collections.namedtuple('_Cell', ['measure', 'value'])): else: raise NotImplementedError('unknown type %s' % self.measure.type) - def __unicode__(self): + def __str__(self): return force_text(self.label) diff --git a/bijoe/visualization/models.py b/bijoe/visualization/models.py index 4bbfa08..76600b9 100644 --- a/bijoe/visualization/models.py +++ b/bijoe/visualization/models.py @@ -19,6 +19,7 @@ import datetime from django.db import models from django.http import Http404 +from django.utils.six import python_2_unicode_compatible from django.utils.text import slugify from django.utils.translation import ugettext_lazy as _ from jsonfield import JSONField @@ -38,6 +39,7 @@ class JSONEncoder(json.JSONEncoder): return json.JSONEncoder.default(self, obj) +@python_2_unicode_compatible class Visualization(models.Model): slug = models.SlugField(verbose_name=_('Identifier'), unique=True) name = models.TextField(verbose_name=_('name')) @@ -48,7 +50,7 @@ class Visualization(models.Model): verbose_name = _('visualization') verbose_name_plural = _('visualizations') - def __unicode__(self): + def __str__(self): return self.name def natural_key(self):