dj32: remove use of force_text (#74843)

This commit is contained in:
Benjamin Dauvergne 2023-02-24 17:35:22 +01:00
parent 4d2e935fd0
commit 7b6df2d530
10 changed files with 27 additions and 35 deletions

View File

@ -11,7 +11,6 @@ import pytest
import httmock
from django.urls import reverse
from django.utils.encoding import force_text
from django.utils.http import urlencode
from django.utils.timezone import now
@ -1294,7 +1293,7 @@ def test_passage_a_la_majorite(db, settings, nanterre_classic_family, freezer):
Job.redo(timestamp=now() + datetime.timedelta(seconds=20))
assert len(requests) == 1
req_content = json.loads(force_text(requests[0].body))
req_content = json.loads(requests[0].body)
assert req_content['metadonnees']['service'] == 'passage-majorite'
assert len(req_content['fragments']) == 3
assert req_content['fragments'][0]['type'] == 'maj-adresse'

View File

@ -4,7 +4,6 @@ import json
import httmock
from django.urls import reverse
from django.utils.encoding import force_text
from zoo.zoo_nanterre.fragments import Synchronization
from zoo.models import Job
@ -29,7 +28,7 @@ def test_synchro_full(app, nanterre_classic_family):
@httmock.urlmatch()
def technocarte_ok(url, request):
request_bodies.append(json.loads(force_text(request.body)))
request_bodies.append(json.loads(request.body))
return httmock.response(
200, [
{
@ -228,7 +227,7 @@ def test_infor(app, nanterre_classic_family):
@httmock.urlmatch()
def infor_ok(url, request):
request_bodies.append(json.loads(force_text(request.body)))
request_bodies.append(json.loads(request.body))
return httmock.response(
200, {
'http_code': 200,
@ -277,7 +276,7 @@ def test_infor(app, nanterre_classic_family):
@httmock.urlmatch()
def infor_nok(url, request):
request_bodies.append(json.loads(force_text(request.body)))
request_bodies.append(json.loads(request.body))
return httmock.response(
200, {
'http_code': 500,

View File

@ -16,8 +16,6 @@
import unicodedata
from django.utils.encoding import force_text
from rest_framework.views import exception_handler
from rest_framework.response import Response
@ -33,8 +31,8 @@ def rest_exception_handler(exc, context):
raise
response = Response({
'err': 1,
'exc_class': force_text(exc.__class__),
'exc_value': force_text(exc),
'exc_class': str(exc.__class__),
'exc_value': str(exc),
})
response.status = 400
return response

View File

@ -27,7 +27,6 @@ from django.db.models import F, Value
from django.db.models.query import QuerySet, Q
from django.core.exceptions import ValidationError
from django.urls import reverse
from django.utils.encoding import force_text
from django.utils.translation import gettext_lazy as _
from django.utils.timezone import now
from django.contrib.postgres.fields import JSONField
@ -52,7 +51,7 @@ class Transaction(models.Model):
null=True)
def __str__(self):
return force_text(self.id)
return str(self.id)
@classmethod
def get_transaction(self):
@ -100,7 +99,7 @@ class CommonData(models.Model):
raise ValidationError({'content': e})
def __str__(self):
return force_text(self.id)
return str(self.id)
class Meta:
abstract = True
@ -330,7 +329,7 @@ class Job(models.Model):
job.state = cls.STATE_UNRECOVERABLE_ERROR
error = job.content.setdefault('error', {})
error['code'] = 'internal-server-error'
error['exc_detail'] = force_text(e)
error['exc_detail'] = str(e)
error['exc_tb'] = traceback.format_exc()
job.get_logger().exception('exception during job %s', job.admin_url)
job.save()
@ -362,7 +361,7 @@ class Job(models.Model):
url = self.admin_url
self.get_logger().exception('exception during job %s', url)
self.state = self.STATE_UNRECOVERABLE_ERROR
self.content['$exc_detail'] = force_text(e)
self.content['$exc_detail'] = str(e)
self.content['$exc_tb'] = traceback.format_exc()
self.content['$classpath'] = self.get_classpath(action)
self.save()

View File

@ -16,7 +16,6 @@
from __future__ import print_function
from django.core.management.base import BaseCommand
from django.utils.encoding import force_text
from zoo.zoo_meta.models import EntitySchema
@ -25,7 +24,7 @@ class Command(BaseCommand):
def handle(self, *args, **options):
for schema in EntitySchema.objects.all():
if options['verbosity'] >= 1:
print('Rebuilding index for', force_text(schema), end=' ')
print('Rebuilding index for', schema, end=' ')
schema.rebuild_indexes()
if options['verbosity'] >= 1:
print(' Done.')

View File

@ -18,7 +18,7 @@ from hashlib import md5
from django.apps import apps
from django.db import models, connection
from django.utils.encoding import force_bytes, force_text
from django.utils.encoding import force_bytes
from django.utils.translation import gettext_lazy as _
from django.contrib.postgres.fields import JSONField
@ -147,8 +147,8 @@ class CommonSchema(models.Model):
try:
return eval(self.caption_template, {}, value.content)
except Exception as e:
return force_text(e)
return force_text(value.id)
return str(e)
return str(value.id)
class Meta:
abstract = True

View File

@ -32,7 +32,6 @@ from django.db.models.query import Q
from django.db.transaction import non_atomic_requests, atomic
from django.urls import reverse
from django.http import Http404, HttpResponse
from django.utils.encoding import force_text
from django.utils.timezone import now
from django.utils.http import urlencode
@ -135,7 +134,7 @@ class TransactionalView(APIView):
content = {
'request': self.request.data,
'status_code': 500,
'$exc_detail': force_text(exc),
'$exc_detail': str(exc),
'$exc_tb': traceback.format_exc(),
}
self.transaction.content = content
@ -2055,7 +2054,7 @@ class FalsePositiveView(DoublonActionView):
except AssertionError as e:
return Response({
'err': 1,
'errors': force_text(e),
'errors': str(e),
}, status=500)
@ -2096,7 +2095,7 @@ class DedupView(DoublonActionView):
except AssertionError as e:
return Response({
'err': 1,
'errors': force_text(e),
'errors': str(e),
}, status=500)
dedup = DedupView.as_view()

View File

@ -15,7 +15,6 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from django import forms
from django.utils.encoding import force_text
from django.utils.translation import gettext_lazy as _
from django.core.exceptions import ValidationError
@ -63,13 +62,15 @@ class SynchronizeFederationsForm(forms.Form):
def clean_csv_uploaded(self):
csv_uploaded = self.cleaned_data['csv_uploaded']
errors = []
csv_uploaded.seek(0)
for i, line in enumerate(csv_uploaded):
try:
force_text(line).encode('ascii')
# works with pyhton2 and 3
except (UnicodeEncodeError, UnicodeDecodeError) as e:
line.decode('ascii')
except UnicodeError as e:
errors.append(_(u'non-ASCII character on line {0} and column {1}').format(
i + 1, e.start + 1))
# restore file state
csv_uploaded.seek(0)
if errors:
raise ValidationError(errors)
return csv_uploaded

View File

@ -5,7 +5,6 @@ import datetime
import requests
from requests.exceptions import RequestException
from django.utils.encoding import force_text
from django.utils.timezone import now
from django.conf import settings
from django.db import DatabaseError
@ -204,7 +203,7 @@ class FragmentBuilder(object):
error_detail = u'erreur réseau/SSL ou expiration'
self.error = {
'code': 'transport-error',
'detail': force_text(e),
'detail': str(e),
}
state = self.state_on_network_error
else:

View File

@ -8,7 +8,6 @@ from zoo.models import Job
import requests
from django.utils.encoding import force_text
from django.utils.timezone import now
from django.conf import settings
@ -64,7 +63,7 @@ class QF(object):
if response:
for qf in response:
try:
qf['annee_imposition'] = force_text(int(re.findall(r'(\d+)', qf['libelle'])[0]) - 1)
qf['annee_imposition'] = str(int(re.findall(r'(\d+)', qf['libelle'])[0]) - 1)
except Exception:
qf['annee_imposition'] = 'inconnue'
return response, error
@ -148,7 +147,7 @@ class QF(object):
else:
return response[0], None
else:
return None, u'Implicit calcul-qf réponse invalide: %r' % force_text(response)[:1024]
return None, 'Implicit calcul-qf réponse invalide: %r' % str(response)[:1024]
def lire_quotient_familial(self, individu, date_de_reference):
federation = individu.content['cles_de_federation'].get('implicit')
@ -168,8 +167,8 @@ class QF(object):
if isinstance(response, list):
return response, None
else:
return None, (u'Implicit lire-quotient-familial réponse invalide: %r'
% force_text(response)[:1024])
return None, ('Implicit lire-quotient-familial réponse invalide: %r'
% str(response)[:1024])
def editer_carte(self, individu, id_qf):
federation = individu.content['cles_de_federation'].get('implicit')