diff --git a/grandlyon_iodas/models.py b/grandlyon_iodas/models.py index 84991a2..a2787b4 100644 --- a/grandlyon_iodas/models.py +++ b/grandlyon_iodas/models.py @@ -7,6 +7,7 @@ from suds.transport import Reply import suds.sudsobject from django.db import models +from django.utils.encoding import force_bytes, force_text from django.utils.translation import ugettext_lazy as _ from django.core.cache import cache @@ -103,7 +104,7 @@ class grandlyonIodas(BaseResource): deltafindroit = nb if (datetime.strptime(tache['datearret'], "%d/%m/%Y") - dateutil.relativedelta.relativedelta(months=nb)) == datetime.now().replace(hour=0, minute=0, second=0, microsecond=0) else 0 droits.append({"libl":tache['produit']['libl'], "dateproposition":tache['dateproposition'], "datearret":tache['datearret'], "dateeffet":tache['dateeffet'], "deltafindroit":deltafindroit}) - return {'hash': hashlib.sha224(json.dumps(data)).hexdigest(), + return {'hash': force_text(hashlib.sha224(force_bytes(json.dumps(data)).hexdigest()), 'libl': data['procedures']['procedures']['procedure'][nbProc]['libl'] if 'procedures' in data else '', 'etapes': sorted(data['procedures']['procedures']['procedure'][nbProc]['etapes']['etape'], key=lambda x: x['id'], reverse=True) if 'procedures' in data else '', 'droits': droits, @@ -127,7 +128,7 @@ class grandlyonIodas(BaseResource): test = proc['libl'] procedures.append(proc) #print >> open('/home/grandlyon/marln/debug.test', 'a+'), self.get_client().service.ODA_getProceduresPA() - return {'hash': hashlib.sha224(json.dumps(data)).hexdigest(), + return {'hash': force_text(hashlib.sha224(force_bytes(json.dumps(data))).hexdigest()), #'libl': data['procedurespa']['procedurespa']['procedurepa'][nbProc]['libl'] if 'procedurespa' in data else '', #'procedures': data['procedurespa']['procedurespa']['procedurepa'][nbProc] if 'procedurespa' in data else '', #'procedures': data['procedurespa']['procedurespa']['procedurepa'] if 'procedurespa' in data else '',