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