use python_2_unicode_compatible for objects representation (#39533)
This commit is contained in:
parent
090e4d2bc3
commit
90bdb52e90
|
@ -36,6 +36,7 @@ from django.utils.translation import ugettext_lazy as _
|
|||
from django.core.files.base import ContentFile
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils import six
|
||||
|
||||
from passerelle.base.models import BaseResource, HTTPResource
|
||||
from passerelle.utils.api import endpoint
|
||||
|
@ -65,6 +66,7 @@ from .utils import (
|
|||
)
|
||||
|
||||
|
||||
@six.python_2_unicode_compatible
|
||||
class ForwardFile(models.Model, BaseModel): # pylint: disable=too-many-instance-attributes
|
||||
"""Represent a file uploaded by a user, to be forwarded to openADS.API."""
|
||||
|
||||
|
@ -133,7 +135,7 @@ class ForwardFile(models.Model, BaseModel): # pylint: disable=too-many-instance
|
|||
self.numero_demande, self.numero_dossier,
|
||||
self.type_fichier, self.orig_filename, self.upload_status)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u"%s[%s]" % (trunc_str_values(self.orig_filename, 20), self.get_status())
|
||||
|
||||
def get_url_params(self, primary_key=True):
|
||||
|
@ -200,6 +202,7 @@ class ForwardFile(models.Model, BaseModel): # pylint: disable=too-many-instance
|
|||
return ret
|
||||
|
||||
|
||||
@six.python_2_unicode_compatible
|
||||
class Collectivite(models.Model, BaseModel):
|
||||
"""Represent a "collectivite"."""
|
||||
|
||||
|
@ -245,11 +248,10 @@ class Collectivite(models.Model, BaseModel):
|
|||
force_text(self.connecteur) if hasattr(self, 'connecteur') else None,
|
||||
self.openADS_id,
|
||||
# pylint: disable=no-member
|
||||
unicode(self.guichet) if hasattr(self, 'guichet') else None)
|
||||
|
||||
def __unicode__(self):
|
||||
return self.name if isinstance(self.name, unicode) else unicode(self.name)
|
||||
force_text(self.guichet) if hasattr(self, 'guichet') else None)
|
||||
|
||||
def __str__(self):
|
||||
return self.name if isinstance(self.name, six.text_type) else force_text(self.name)
|
||||
def get_fields_kv(self):
|
||||
fields = super(Collectivite, self).get_fields_kv()
|
||||
# moving related fields field at the end of the list
|
||||
|
@ -270,6 +272,7 @@ class Collectivite(models.Model, BaseModel):
|
|||
return params
|
||||
|
||||
|
||||
@six.python_2_unicode_compatible
|
||||
class Guichet(models.Model, BaseModel):
|
||||
"""Represent a "Guichet"."""
|
||||
|
||||
|
@ -315,7 +318,7 @@ class Guichet(models.Model, BaseModel):
|
|||
force_text(self.collectivite) if hasattr(self, 'collectivite') else None,
|
||||
force_text(self))
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return u'%s %s -> %s %s [%s/%s]' % (
|
||||
force_text(self.DAYS[self.ouverture_sem_d - 1][1]),
|
||||
# pylint: disable=no-member
|
||||
|
@ -366,6 +369,7 @@ class Guichet(models.Model, BaseModel):
|
|||
return False
|
||||
|
||||
|
||||
@six.python_2_unicode_compatible
|
||||
class AtrealOpenads(BaseResource, HTTPResource, BaseModel):
|
||||
"""API that proxy/relay communications with/to openADS."""
|
||||
|
||||
|
@ -403,8 +407,8 @@ class AtrealOpenads(BaseResource, HTTPResource, BaseModel):
|
|||
self.collectivites.count(), # pylint: disable=no-member
|
||||
self.default_collectivite_openADS_id)
|
||||
|
||||
def __unicode__(self):
|
||||
return self.slug if isinstance(self.slug, unicode) else unicode(self.slug)
|
||||
def __str__(self):
|
||||
return self.slug if isinstance(self.slug, six.string_types) else force_text(self.slug)
|
||||
|
||||
def get_url_name(self, prefix='', plural=False):
|
||||
return '%s%s' % (prefix + '-' if prefix else '', 'connector')
|
||||
|
|
|
@ -32,6 +32,7 @@ import sys
|
|||
from HTMLParser import HTMLParser
|
||||
|
||||
from django.urls import reverse_lazy
|
||||
from django.utils import six
|
||||
from django.utils.encoding import force_text
|
||||
|
||||
|
||||
|
@ -161,6 +162,7 @@ def trunc_str_values(value, limit, visited=None, truncate_text=u'…'):
|
|||
return value
|
||||
|
||||
|
||||
@six.python_2_unicode_compatible
|
||||
class DictDumper(object):
|
||||
"""Helper to dump a dictionary to a string representation with lazy processing.
|
||||
|
||||
|
@ -184,14 +186,10 @@ class DictDumper(object):
|
|||
return u'DictDumper(dic=%r,max_str_len=%r,use_json_dumps=%r)' % (
|
||||
self.dic, self.max_str_len, self.use_json_dumps)
|
||||
|
||||
@force_encoded_string_output
|
||||
def __str__(self):
|
||||
return unicode(self)
|
||||
|
||||
def __unicode__(self):
|
||||
dict_trunc = trunc_str_values(copy.deepcopy(self.dic), self.max_str_len)
|
||||
dict_ref = json.dumps(dict_trunc) if self.use_json_dumps else dict_trunc
|
||||
return unicode(dict_ref)
|
||||
return force_text(dict_ref)
|
||||
|
||||
|
||||
class BaseModel(object):
|
||||
|
|
Reference in New Issue