force text when reading or writing json

This commit is contained in:
Frédéric Péters 2020-06-26 09:17:32 +02:00
parent 96759ab18a
commit fad94d8b9f
1 changed files with 6 additions and 4 deletions

View File

@ -6,7 +6,9 @@ import json
import datetime
from django.db import models
from django.utils.encoding import force_text
from django.utils.translation import ugettext_lazy as _
from django.core.cache import cache
from passerelle.base.models import BaseResource
@ -92,7 +94,7 @@ class GrandlyonElyx(BaseResource):
def create(self, request):
# get creation fields from payload
try:
formdata = FormData(json.loads(request.body), CREATION_SCHEMA)
formdata = FormData(json.loads(force_text(request.body)), CREATION_SCHEMA)
except ValueError as e:
raise ParameterTypeError(e.message)
@ -128,7 +130,7 @@ class GrandlyonElyx(BaseResource):
resp = self.send_post(send_request)
#print >> open('/home/grandlyon/log/elyx.debug', 'a+'), datetime.datetime.now(), "resp.content:", resp.content
return {'data': json.loads(resp.content)}
return {'data': json.loads(force_text(resp.content))}
@endpoint(perm='can_access')
def status(self, request, iddemande):
@ -137,7 +139,7 @@ class GrandlyonElyx(BaseResource):
send_request = requests.Request()
send_request.url = self.service_url+'/rr/Demandes?operation=suivi&id='+iddemande
resp = self.send_get(send_request)
data = json.loads(resp.content)
data = json.loads(force_text(resp.content))
if data['EtatDemande'] == "DEMANDE_DISPO":
@ -146,7 +148,7 @@ class GrandlyonElyx(BaseResource):
file_request.url = self.service_url+'/rs/ReadResource?url='+data['Url']
#print >> open('/home/grandlyon/log/elyx.debug', 'a+'), datetime.datetime.now(), "file url:", file_request.url
file_resp = self.send_get(file_request)
file = {'b64_content': base64.b64encode(file_resp.content), 'filename': 'certificat.pdf'}
file = {'b64_content': force_text(base64.b64encode(file_resp.content)), 'filename': 'certificat.pdf'}
#print >> open('/home/grandlyon/log/elyx.pdf', 'a+'), datetime.datetime.now(), file_resp.content