misc: fix redundant-u-string-prefix pylint error (#62099)

This commit is contained in:
Lauréline Guérin 2022-03-17 16:54:24 +01:00
parent 35512c9c2f
commit 59182339ab
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
66 changed files with 370 additions and 372 deletions

View File

@ -44,7 +44,7 @@ class ActesWeb(BaseResource):
category = _('Civil Status Connectors')
class Meta:
verbose_name = u"ActesWeb - Demande d'acte d'état civil"
verbose_name = "ActesWeb - Demande d'acte d'état civil"
@property
def basepath(self):

View File

@ -29,7 +29,7 @@ from passerelle.utils.jsonresponse import APIError
class AirQuality(BaseResource):
category = _('Misc')
api_description = _(
u'''
'''
This API provides a unique format for the air quality data of various places.
(But only supports the Rhône-Alpes region for now).
'''

View File

@ -101,13 +101,13 @@ class APIEntreprise(BaseResource):
try:
response = self.requests.get(url, data=params, cache_duration=300)
except requests.RequestException as e:
raise APIError(u'API-entreprise connection error: %s' % exception_to_text(e), data=[])
raise APIError('API-entreprise connection error: %s' % exception_to_text(e), data=[])
try:
data = response.json()
except ValueError as e:
content = response.text[:1000]
raise APIError(
u'API-entreprise returned non-JSON content with status %s: %s'
'API-entreprise returned non-JSON content with status %s: %s'
% (response.status_code, content),
data={
'status_code': response.status_code,
@ -122,7 +122,7 @@ class APIEntreprise(BaseResource):
'err_desc': data.get('message', 'not-found'),
}
raise APIError(
u'API-entreprise returned a non 200 status %s: %s' % (response.status_code, data),
'API-entreprise returned a non 200 status %s: %s' % (response.status_code, data),
data={
'status_code': response.status_code,
'content': data,

View File

@ -92,7 +92,7 @@ class APIParticulier(BaseResource):
response = self.requests.get(url, headers=headers, timeout=5, **kwargs)
except requests.RequestException as e:
raise APIError(
u'API-particulier platform "%s" connection error: %s' % (self.platform, exception_to_text(e)),
'API-particulier platform "%s" connection error: %s' % (self.platform, exception_to_text(e)),
log_error=True,
data={
'code': 'connection-error',
@ -105,7 +105,7 @@ class APIParticulier(BaseResource):
except JSONDecodeError as e:
content = repr(response.content[:1000])
raise APIError(
u'API-particulier platform "%s" returned non-JSON content with status %s: %s'
'API-particulier platform "%s" returned non-JSON content with status %s: %s'
% (self.platform, response.status_code, content),
log_error=True,
data={
@ -135,7 +135,7 @@ class APIParticulier(BaseResource):
}
raise APIError(message, data=error_data)
raise APIError(
u'API-particulier platform "%s" returned a non 200 status %s: %s'
'API-particulier platform "%s" returned a non 200 status %s: %s'
% (self.platform, response.status_code, data),
log_error=True,
data={

View File

@ -59,18 +59,18 @@ class ArpegeECP(BaseResource):
)
response.raise_for_status()
except RequestException as e:
raise APIError(u'Arpege server is down: %s' % e)
raise APIError('Arpege server is down: %s' % e)
try:
result = response.json()
except ValueError:
raise APIError(u'Arpege server is down: no JSON content returned, %r' % response.content[:1000])
raise APIError('Arpege server is down: no JSON content returned, %r' % response.content[:1000])
if result.get('Data'):
if 'AccessToken' not in result['Data']:
raise APIError(u'Error on LoginParSubOIDC: missing Data/AccessToken')
raise APIError('Error on LoginParSubOIDC: missing Data/AccessToken')
if not isinstance(result['Data']['AccessToken'], six.string_types):
raise APIError(u'Error on LoginParSubOIDC: Data/AccessToken is not string')
raise APIError('Error on LoginParSubOIDC: Data/AccessToken is not string')
return result['Data']['AccessToken']
raise APIError(u'%s (%s)' % (result.get('LibErreur'), result.get('CodErreur')))
raise APIError('%s (%s)' % (result.get('LibErreur'), result.get('CodErreur')))
@endpoint(
name='api',
@ -87,12 +87,12 @@ class ArpegeECP(BaseResource):
response = self.requests.get(url, params=params, auth=auth)
response.raise_for_status()
except RequestException as e:
raise APIError(u'Arpege server is down: %s' % e)
raise APIError('Arpege server is down: %s' % e)
data = []
try:
result = response.json()
except ValueError:
raise APIError(u'No JSON content returned: %r' % response.content[:1000])
raise APIError('No JSON content returned: %r' % response.content[:1000])
if not result.get('Data'):
raise APIError("%s (%s)" % (result.get('LibErreur'), result.get('CodErreur')))
for demand in result['Data']['results']:
@ -101,7 +101,7 @@ class ArpegeECP(BaseResource):
receipt_time = parse_time(data_administratives['heure_depot'])
receipt_date = parse_date(data_administratives['date_depot'])
except (KeyError, TypeError) as e:
raise APIError(u'Arpege error: %s %r' % (e, json.dumps(demand)[:1000]))
raise APIError('Arpege error: %s %r' % (e, json.dumps(demand)[:1000]))
d = {
'url': demand['url'],
'title': data_administratives.get('LibelleQualificationTypeDemande'),

View File

@ -187,7 +187,7 @@ class AstreREST(BaseResource):
category = _('Business Process Connectors')
class Meta:
verbose_name = u'Astre REST'
verbose_name = 'Astre REST'
def check_status(self):
self._astre_call('astre/webservices/gf/documents/referentiel/typedocument/list/json')

View File

@ -447,7 +447,7 @@ class AstreGS(BaseResource):
log_requests_errors = False
class Meta:
verbose_name = u'AstresGS'
verbose_name = 'AstresGS'
def check_status(self):
response = self.requests.get(self.wsdl_base_url)

View File

@ -150,7 +150,7 @@ class Resource(BaseResource, HTTPResource):
parameters={
'category': {
'description': _('Category of codification'),
'example_value': u'MOT_APA',
'example_value': 'MOT_APA',
}
},
)
@ -283,7 +283,7 @@ class Resource(BaseResource, HTTPResource):
# create CIVILITE
for identification in d.get('IDENTIFICATION', []):
sexe = identification.get('SEXE', '')
identification['CIVILITE'] = {'M': u'Monsieur', 'F': u'Madame'}.get(sexe, '')
identification['CIVILITE'] = {'M': 'Monsieur', 'F': 'Madame'}.get(sexe, '')
return d
@endpoint(
@ -327,7 +327,7 @@ class Resource(BaseResource, HTTPResource):
data.append(
{
'id': str(link.id),
'text': u' '.join(text_parts),
'text': ' '.join(text_parts),
'id_per': link.id_per,
'dossier': dossier,
}
@ -430,7 +430,7 @@ class Resource(BaseResource, HTTPResource):
cmu_nais = to_ascii(identification.get('CMU_NAIS', '')).lower()
if cmu_nais and commune_naissance != cmu_nais:
self.logger.debug(
u'id_per %s: CMU_NAIS(%s) does not match commune_naissance(%s)',
'id_per %s: CMU_NAIS(%s) does not match commune_naissance(%s)',
id_per,
cmu_nais,
commune_naissance,

View File

@ -247,10 +247,10 @@ class AbstractCartaDSCS(BaseResource):
def format_cerfa_label(x):
try:
if x['Description']:
return u'%(Nom)s: %(Description)s' % x
return '%(Nom)s: %(Description)s' % x
except KeyError:
pass
return u'%(Nom)s' % x
return '%(Nom)s' % x
data_cache, dummy = CartaDSDataCache.objects.get_or_create(
data_type='liste_pdf',

View File

@ -24,8 +24,8 @@ class ChoositSMSGateway(SMSResource):
'err': 1,
'err_desc': 'Choosit error: some destinations failed',
'data': [
[u'0033688888888', u'Choosit error: bad JSON response'],
[u'0033677777777', u'Choosit error: bad JSON response'],
['0033688888888', 'Choosit error: bad JSON response'],
['0033677777777', 'Choosit error: bad JSON response'],
],
},
},
@ -37,21 +37,21 @@ class ChoositSMSGateway(SMSResource):
'err': 1,
'err_desc': 'Choosit error: some destinations failed',
'data': [
[u'0033688888888', u'Choosit error: not ok'],
[u'0033677777777', u'Choosit error: not ok'],
['0033688888888', 'Choosit error: not ok'],
['0033677777777', 'Choosit error: not ok'],
],
},
},
{
'response': {
'result': u'Envoi terminé',
'result': 'Envoi terminé',
'sms_id': 1234,
},
'result': {
'err': 0,
'data': [
[u'0033688888888', {'result': u'Envoi terminé', 'sms_id': 1234}],
[u'0033677777777', {'result': u'Envoi terminé', 'sms_id': 1234}],
['0033688888888', {'result': 'Envoi terminé', 'sms_id': 1234}],
['0033677777777', {'result': 'Envoi terminé', 'sms_id': 1234}],
],
},
},
@ -92,7 +92,7 @@ class ChoositSMSGateway(SMSResource):
if not isinstance(output, dict):
results.append('Choosit error: JSON response is not a dict %r' % output)
elif 'error' in output:
results.append(u'Choosit error: %s' % output['error'])
results.append('Choosit error: %s' % output['error'])
else:
results.append(output)
if any(isinstance(result, string_types) for result in results):

View File

@ -39,7 +39,7 @@ class CityWeb(BaseResource):
category = _('Civil Status Connectors')
class Meta:
verbose_name = u"CityWeb - Demande d'acte d'état civil"
verbose_name = "CityWeb - Demande d'acte d'état civil"
@classmethod
def get_verbose_name(cls):

View File

@ -315,7 +315,7 @@ class CsvDataSource(BaseResource):
try:
query = Query.objects.get(resource=self.id, slug=query_name)
except Query.DoesNotExist:
raise APIError(u'no such query')
raise APIError('no such query')
return self.execute_query(request, query, query_params=kwargs)
def execute_query(self, request, query, query_params=None):
@ -337,7 +337,7 @@ class CsvDataSource(BaseResource):
data['name'] = titles[i]
else:
data['idx'] = i
raise APIError(u'invalid %s expression' % kind, data=data)
raise APIError('invalid %s expression' % kind, data=data)
codes.append((code, expr))
for row in data:
new_row = []
@ -356,7 +356,7 @@ class CsvDataSource(BaseResource):
data['name'] = titles[i]
else:
data['idx'] = i
raise APIError(u'invalid %s expression' % kind, data=data)
raise APIError('invalid %s expression' % kind, data=data)
new_row.append(result)
yield new_row, row
@ -383,7 +383,7 @@ class CsvDataSource(BaseResource):
hash(new_row)
except TypeError:
raise APIError(
u'distinct value is unhashable',
'distinct value is unhashable',
data={
'row': repr(row),
'distinct': repr(new_row),
@ -402,7 +402,7 @@ class CsvDataSource(BaseResource):
for mapping in projection:
name, expr = mapping.split(':', 1)
if not identifier_re.match(name):
raise APIError(u'invalid projection name', data=name)
raise APIError('invalid projection name', data=name)
titles.append(name)
expressions.append(expr)
new_data = []

View File

@ -470,7 +470,7 @@ class Person(models.Model):
@property
def fullname(self):
return u'%s %s' % (self.first_name, self.last_name)
return '%s %s' % (self.first_name, self.last_name)
def __str__(self):
return self.fullname

View File

@ -224,7 +224,7 @@ class Gesbac(BaseResource):
category = _('Business Process Connectors')
class Meta:
verbose_name = u'Gesbac'
verbose_name = 'Gesbac'
def check_status(self):
with self.outcoming_sftp.client() as out_sftp:

View File

@ -97,7 +97,7 @@ class Maelis(BaseResource):
category = _('Business Process Connectors')
class Meta:
verbose_name = u'Maélis'
verbose_name = 'Maélis'
@classmethod
def get_verbose_name(cls):

View File

@ -350,7 +350,7 @@ class Demand(models.Model):
# Set aec_nature if aec_type_raw == DECES
if formdata.get('aec_type_raw') == 'DECES' and not formdata.get('aec_nature_raw'):
formdata['aec_nature'] = u'Copie integrale'
formdata['aec_nature'] = 'Copie integrale'
formdata['aec_nature_raw'] = 'COPIE-INTEGRALE'
# Set motif_demand if none

View File

@ -221,9 +221,7 @@ class OpenGIS(BaseResource):
except ValueError:
self.handle_opengis_error(response)
# if handle_opengis_error did not raise an error, we raise a generic one
raise APIError(
u'OpenGIS Error: unparsable error', data={'content': repr(response.content[:1024])}
)
raise APIError('OpenGIS Error: unparsable error', data={'content': repr(response.content[:1024])})
for feature in response['features']:
feature['text'] = feature['properties'].get(property_name)
data.append(feature)
@ -245,7 +243,7 @@ class OpenGIS(BaseResource):
return None
content = exception_text.text
content = html.unescape(content)
raise APIError(u'OpenGIS Error: %s' % exception_code or 'unknown code', data={'text': content})
raise APIError('OpenGIS Error: %s' % exception_code or 'unknown code', data={'text': content})
def convert_coordinates(self, lon, lat, reverse=False):
lon, lat = float(lon), float(lat)

View File

@ -335,12 +335,12 @@ class Resource(BaseResource):
with self.resource.output_sftp.client() as client:
with client.open(self.request.response_zip_filename, mode='w') as fd:
self.request.build_response_zip(
fd, etat='100', commentaire=u'Demande transmise à la collectivité'
fd, etat='100', commentaire='Demande transmise à la collectivité'
)
with self.resource.input_sftp.client() as client:
with client.open('DONE/' + self.request.response_zip_filename, mode='w') as fd:
self.request.build_response_zip(
fd, etat='100', commentaire=u'Demande transmise à la collectivité'
fd, etat='100', commentaire='Demande transmise à la collectivité'
)
def get_data(self, data, name):
@ -355,11 +355,11 @@ class Resource(BaseResource):
numero_permis_construire = get('doc_declarant_designation_permis_numero_permis_construire')
numero_permis_amenager = get('doc_declarant_designation_permis_numero_permis_amenager')
data['type_permis'] = (
u'Un permis de construire' if numero_permis_construire else u'Un permis d\'aménager'
'Un permis de construire' if numero_permis_construire else 'Un permis d\'aménager'
)
data['numero_permis'] = numero_permis_construire or numero_permis_amenager
particulier = get('doc_declarant_identite_type_personne').strip().lower() == 'true'
data['type_declarant'] = u'Un particulier' if particulier else u'Une personne morale'
data['type_declarant'] = 'Un particulier' if particulier else 'Une personne morale'
if particulier:
data['nom'] = get('doc_declarant_identite_personne_physique_nom')
data['prenoms'] = get('doc_declarant_identite_personne_physique_prenom')
@ -382,9 +382,9 @@ class Resource(BaseResource):
get('doc_declarant_identite_personne_morale_representant_personne_morale_civilite'), ''
)
data['portee'] = (
u'Pour la totalité des travaux'
'Pour la totalité des travaux'
if get('doc_ouverture_chantier_totalite_travaux').lower().strip() == 'true'
else u'Pour une tranche des travaux'
else 'Pour une tranche des travaux'
)
def update_data_recensementCitoyen(self, data):
@ -397,9 +397,9 @@ class Resource(BaseResource):
data['motif'] = {'RECENSEMENT': '1', 'EXEMPTION': '2'}[motif]
if data['motif'] == '2':
data['motif_exempte'] = (
u"Titulaire d'une carte d'invalidité de 80% minimum"
"Titulaire d'une carte d'invalidité de 80% minimum"
if get('recensementcitoyen_formalite_formalitemotifcode_2') == 'INFIRME'
else u"Autre situation"
else "Autre situation"
)
data['justificatif_exemption'] = get('pj_je')
data['double_nationalite'] = 'Oui' if get('recensementcitoyen_personne_nationalite') else 'Non'
@ -421,16 +421,16 @@ class Resource(BaseResource):
data['justificatif_identite'] = get('pj_ji')
situation_matrimoniale = get('recensementcitoyen_personne_situationfamille_situationmatrimoniale')
data['situation_familiale'] = {
u'Célibataire': u'Célibataire',
u'Marié': u'Marié(e)',
}.get(situation_matrimoniale, u'Autres')
if data['situation_familiale'] == u'Autres':
'Célibataire': 'Célibataire',
'Marié': 'Marié(e)',
}.get(situation_matrimoniale, 'Autres')
if data['situation_familiale'] == 'Autres':
data['situation_familiale_precision'] = situation_matrimoniale
pupille = get('recensementcitoyen_personne_situationfamille_pupille')
data['pupille'] = 'Oui' if pupille else 'Non'
data['pupille_categorie'] = {
'NATION': u"Pupille de la nation",
'ETAT': u"Pupille de l'État",
'NATION': "Pupille de la nation",
'ETAT': "Pupille de l'État",
}.get(pupille)
for idx in ['', '_1', '_2']:
code = get('recensementcitoyen_personne_methodecontact%s_canalcode' % idx)
@ -774,7 +774,7 @@ class Request(models.Model):
'.//{%(mdel)s}MotDePasse' % ns
).text
response.find('.//{%(pec)s}Etat' % ns).text = '100'
response.find('.//{%(pec)s}Commentaire' % ns).text = u'Dossier transmis à la collectivité'
response.find('.//{%(pec)s}Commentaire' % ns).text = 'Dossier transmis à la collectivité'
return response
def build_response_zip(self, fd_or_filename, etat, commentaire):

View File

@ -146,7 +146,7 @@ class VivaTicket(BaseResource):
log_requests_errors = False
class Meta:
verbose_name = u'VivaTicket'
verbose_name = 'VivaTicket'
@classmethod
def get_verbose_name(cls):

View File

@ -85,7 +85,7 @@ class ApiUser(models.Model):
)
def __str__(self):
return u'%s <%s>' % (self.fullname, self.username)
return '%s <%s>' % (self.fullname, self.username)
def clean(self):
if self.keytype and not self.key:
@ -513,17 +513,17 @@ class BaseResource(models.Model):
if status == 'down' and not self.down(): # new downtime
if availability_parameters.has_zero_delay():
self.logger.error(
u'connector "%s" (%s) is now down: %s', self, self.__class__.__name__, message
'connector "%s" (%s) is now down: %s', self, self.__class__.__name__, message
)
else:
self.logger.warning(
u'connector "%s" (%s) is now down: %s', self, self.__class__.__name__, message
'connector "%s" (%s) is now down: %s', self, self.__class__.__name__, message
)
ResourceStatus(
resource_type=resource_type, resource_pk=self.pk, status=status, message=message
).save()
if status == 'up' and current_status:
self.logger.info(u'connector "%s" (%s) is back up', self, self.__class__.__name__)
self.logger.info('connector "%s" (%s) is back up', self, self.__class__.__name__)
elif status == 'down':
# check last_notification_downtime and current downtime to see if it matches a new notification delay
last_notification_timestamp = (
@ -550,7 +550,7 @@ class BaseResource(models.Model):
else:
human_duration = 'for %d minutes' % downtime
self.logger.error(
u'connector "%s" (%s) has been down %s: %s',
'connector "%s" (%s) has been down %s: %s',
self,
self.__class__.__name__,
human_duration,

View File

@ -218,12 +218,12 @@ class ManageAvailabilityView(UpdateView):
# log changes to notification delays
if 'notification_delays' in form.changed_data:
resource.logger.info(u'availability checks delays set to %s', form.instance.notification_delays)
resource.logger.info('availability checks delays set to %s', form.instance.notification_delays)
# log changes to run_check, if enabled immediately check for availability
if 'run_check' in form.changed_data:
resource.logger.info(
u'availability checks %s', 'enabled' if form.instance.run_check else 'disabled'
'availability checks %s', 'enabled' if form.instance.run_check else 'disabled'
)
if form.instance.run_check:
resource.availability()

View File

@ -259,7 +259,7 @@ class DPark(BaseResource):
}
if code_retour in errors:
return Error(errors[code_retour], msg=msg_retour)
return Error('other-error', msg=u'code="%s" msg="%s"' % (code_retour, msg_retour))
return Error('other-error', msg='code="%s" msg="%s"' % (code_retour, msg_retour))
@endpoint(perm='can_access', description=_('Check service availibity'))
def ping(self, request, *args, **kwargs):
@ -554,7 +554,7 @@ class DPark(BaseResource):
try:
pdf_content = to_pdf(file_raw_content)
except ValueError as e:
errors.append(u'<%s> cannot be converted to PDF: %s' % (key, e))
errors.append('<%s> cannot be converted to PDF: %s' % (key, e))
continue
filename = value['filename']
if not filename.lower().endswith('.pdf'):

View File

@ -34,7 +34,7 @@ class ESiriusSwi(BaseResource):
category = _('Business Process Connectors')
class Meta:
verbose_name = u'eSirius sitewaitingindicator'
verbose_name = 'eSirius sitewaitingindicator'
@classmethod
def get_verbose_name(cls):

View File

@ -35,7 +35,7 @@ from passerelle.utils.api import APIError, endpoint
from .formdata import CREATION_SCHEMA, FormData, list_schema_fields
# taken from https://lsimons.wordpress.com/2011/03/17/stripping-illegal-characters-out-of-xml-in-python/
_illegal_xml_chars_RE = re.compile(u'[\x00-\x08\x0b\x0c\x0e-\x1F\uD800-\uDFFF\uFFFE\uFFFF]')
_illegal_xml_chars_RE = re.compile('[\x00-\x08\x0b\x0c\x0e-\x1F\uD800-\uDFFF\uFFFE\uFFFF]')
def escape_xml_illegal_chars(val, replacement='?'):

View File

@ -114,7 +114,7 @@ class MDPH13Resource(BaseResource, HTTPResource):
for person in entourage:
if not isinstance(person, dict):
raise APIError('entourage-content-must-be-dicts', data=content)
if person.get('role') in [u'Père', u'Mère']:
if person.get('role') in ['Père', 'Mère']:
new_entourage.setdefault('parents', []).append(person)
else:
new_entourage.setdefault('aidants', []).append(person)
@ -131,9 +131,9 @@ class MDPH13Resource(BaseResource, HTTPResource):
raise APIError('demandes-content-must-be-dicts', data=content)
new_demandes = {}
typologies = {
u'demande en cours': 'en_cours',
u'traitée et expédiée': 'historique',
u'traitée non expédiée': 'historique',
'demande en cours': 'en_cours',
'traitée et expédiée': 'historique',
'traitée non expédiée': 'historique',
}
if not all(isinstance(demande.get('typologie'), six.text_type) for demande in demandes):
raise APIError('typologie-must-be-a-string', data=content)
@ -364,11 +364,11 @@ class Link(models.Model):
parts.append(prenom)
if nom:
parts.append(nom)
parts.append(u'#%s' % numero)
parts.append('#%s' % numero)
return ' '.join(parts)
def __str__(self):
return self.display_name or u'#%s' % self.file_number
return self.display_name or '#%s' % self.file_number
class Meta:
unique_together = (

View File

@ -208,7 +208,7 @@ def conciliation_payload(config, **data):
)
criterium = []
for xpath, local in config['input'].items():
criterium.append({'key': xpath, 'value': data.get(local, u'')})
criterium.append({'key': xpath, 'value': data.get(local, '')})
returndata = []
for xpath in config['output']:
returndata.append(xpath)
@ -235,5 +235,5 @@ def conciliation_output2dict(config, entity):
x = entity
for k in xpath.split('/'):
x = x.get(k, {})
d[xpath] = x or u''
d[xpath] = x or ''
return d

View File

@ -164,11 +164,11 @@ class SolisAPA(BaseResource):
ret = []
for v in villes:
# {u'Attributes': {u'Attribute': {u'id': u'stdr.commune.cp_lieu',
# u'value': 14210}}, u'Keys': {u'Key': [{u'id':
# u'stdr.commune.code_a_com', u'value': 771}, {u'id':
# u'stdr.commune.code_dep', u'value': 14}]}, u'id':
# u'commune-14-771', u'value': u'NEUILLY LE MALHERBE'},
# {'Attributes': {'Attribute': {'id': 'stdr.commune.cp_lieu',
# 'value': 14210}}, 'Keys': {'Key': [{'id':
# 'stdr.commune.code_a_com', 'value': 771}, {'id':
# 'stdr.commune.code_dep', 'value': 14}]}, 'id':
# 'commune-14-771', 'value': 'NEUILLY LE MALHERBE'},
#
# However, the lack of some informations has already been observed,
# so there are some test/continue here
@ -204,14 +204,14 @@ class SolisAPA(BaseResource):
lieux = call.get('results')
ret = []
for l in lieux:
# '@affinity': u'5',
# 'CodeDepartement/@V': u'',
# 'CodeLieu/@V': u'0110',
# 'CodePostal/@V': u'14000',
# 'Commune/NomCom/@V': u'CAEN',
# 'Commune/PK/CodeCommune/@V': u'118',
# 'NatureLieu/@Lc': u'RUE',
# 'NomLieu/@V': u'DU BEAU SITE'
# '@affinity': '5',
# 'CodeDepartement/@V': '',
# 'CodeLieu/@V': '0110',
# 'CodePostal/@V': '14000',
# 'Commune/NomCom/@V': 'CAEN',
# 'Commune/PK/CodeCommune/@V': '118',
# 'NatureLieu/@Lc': 'RUE',
# 'NomLieu/@V': 'DU BEAU SITE'
for k, v in l.items():
l[k] = v.strip()
ret.append(
@ -232,26 +232,26 @@ class SolisAPA(BaseResource):
individus = call.get('results')
ret = []
for i in individus:
# i = {'@affinity': u'3',
# 'Dossier/Adresse/Commune/NomCom/@V': u'ST JULIEN EN GENEVOIS',
# 'Dossier/Adresse/ComplementLieu/@V': u'ROUTE DE THOIRY',
# 'Dossier/Adresse/CpLieu/@V': u'74160',
# 'Dossier/Adresse/NatureLieu/@Lc': u'',
# 'Dossier/Adresse/NomLieu/@V': u'.',
# 'Dossier/Adresse/NumeroLieu/@V': u'39',
# 'Dossier/PK/IndexDossier/@V': u'162438',
# 'EtatCivil/DateNaissance/@V': u'1933-08-28',
# 'EtatCivil/Nom/@V': u'DUPONT',
# 'EtatCivil/NomJeuneFille/@V': u'BUATHIER',
# 'EtatCivil/Prenom/@V': u'JEANNE',
# 'PK/IndexIndividu/@V': u'208359'},
# i = {'@affinity': '3',
# 'Dossier/Adresse/Commune/NomCom/@V': 'ST JULIEN EN GENEVOIS',
# 'Dossier/Adresse/ComplementLieu/@V': 'ROUTE DE THOIRY',
# 'Dossier/Adresse/CpLieu/@V': '74160',
# 'Dossier/Adresse/NatureLieu/@Lc': '',
# 'Dossier/Adresse/NomLieu/@V': '.',
# 'Dossier/Adresse/NumeroLieu/@V': '39',
# 'Dossier/PK/IndexDossier/@V': '162438',
# 'EtatCivil/DateNaissance/@V': '1933-08-28',
# 'EtatCivil/Nom/@V': 'DUPONT',
# 'EtatCivil/NomJeuneFille/@V': 'BUATHIER',
# 'EtatCivil/Prenom/@V': 'JEANNE',
# 'PK/IndexIndividu/@V': '208359'},
for k, v in i.items():
i[k] = v.strip()
njf = i['EtatCivil/NomJeuneFille/@V']
if njf:
i['EtatCivil/NomJeuneFille/@V'] = u' (%s)' % njf
i['EtatCivil/NomJeuneFille/@V'] = ' (%s)' % njf
if not i['EtatCivil/DateNaissance/@V']:
i['EtatCivil/DateNaissance/@V'] = u'date de naissance inconnue'
i['EtatCivil/DateNaissance/@V'] = 'date de naissance inconnue'
ret.append(
{
'id': '%(PK/IndexIndividu/@V)s' % i,

View File

@ -84,8 +84,8 @@ def suivi_visite_output(data):
intervenant['nom'] = _intervenant['Nom']['@V']
intervenant['prenom'] = _intervenant['Prenom']['@V']
coords = _intervenant.get('Coordonnees', {})
intervenant['email'] = coords.get('Email', {}).get('@V', u'')
intervenant['telephone'] = coords.get('Telephone', {}).get('@V', u'')
intervenant['email'] = coords.get('Email', {}).get('@V', '')
intervenant['telephone'] = coords.get('Telephone', {}).get('@V', '')
intervenants.append(intervenant)
info['visite_intervenants'] = intervenants
select = {}

View File

@ -88,9 +88,9 @@ class TeamnetAxel(BaseResource):
streamId = operation
xmlParams = smart_text(ET.tostring(portail, encoding='UTF-8'))
user = ''
logger.debug(u'getData(streamId=%s, xmlParams=%s, user=%s)', streamId, xmlParams, user)
logger.debug('getData(streamId=%s, xmlParams=%s, user=%s)', streamId, xmlParams, user)
result = soap.get_client(self).service.getData(streamId, smart_text(xmlParams), user)
logger.debug(u'getData(%s) result: %s', streamId, smart_text(result))
logger.debug('getData(%s) result: %s', streamId, smart_text(result))
xml_result = ET.fromstring(result)
if xml_result.find('RESULTAT/STATUS').text != 'OK':
msg = xml_result.find('RESULTAT/COMMENTAIRES').text

View File

@ -1052,7 +1052,7 @@ class ToulouseAxel(BaseResource):
activity['id'] = activity['IDACTIVITE']
start_date = datetime.datetime.strptime(activity['DATEENTREE'], axel.json_date_format)
end_date = datetime.datetime.strptime(activity['DATESORTIE'], axel.json_date_format)
activity['text'] = u'{} (inscription du {} au {})'.format(
activity['text'] = '{} (inscription du {} au {})'.format(
activity['LIBELLEACTIVITE'],
start_date.strftime(axel.xml_date_format),
end_date.strftime(axel.xml_date_format),

View File

@ -68,13 +68,13 @@ class SMSResource(BaseResource):
default_country_code = models.CharField(
verbose_name=_('Default country code'),
max_length=3,
default=u'33',
default='33',
validators=[RegexValidator('^[0-9]*$', _('The country must only contain numbers'))],
)
default_trunk_prefix = models.CharField(
verbose_name=_('Default trunk prefix'),
max_length=2,
default=u'0',
default='0',
validators=[RegexValidator('^[0-9]*$', _('The trunk prefix must only contain numbers'))],
) # Yeah France first !
max_message_length = models.IntegerField(

View File

@ -92,7 +92,7 @@ def exception_to_text(e):
content = '<exception-while-rendering-args>'
except AttributeError:
content = ''
return u'%s(%s)' % (e.__class__.__name__, content)
return '%s(%s)' % (e.__class__.__name__, content)
def normalize(s):

View File

@ -47,7 +47,7 @@ def text_content(node):
s.append(child.tail)
return s
return u''.join(helper(node))
return ''.join(helper(node))
def to_json(root):

View File

@ -165,7 +165,7 @@ def relax_openssl(tmpdir):
openssl_cnf_path = tmpdir / 'openssl.cnf'
with openssl_cnf_path.open('w') as fd:
fd.write(
u'''
'''
[default_conf]
ssl_conf = ssl_sect

View File

@ -315,7 +315,7 @@ def api_entreprise_error_not_json(url, request):
@urlmatch(netloc='^entreprise.api.gouv.fr$')
def api_entreprise_error_not_found(url, request):
return response(404, {'error': 'not_found', 'message': u'Page not found'}, request=request)
return response(404, {'error': 'not_found', 'message': 'Page not found'}, request=request)
@pytest.yield_fixture

View File

@ -125,7 +125,7 @@ def api_particulier_error_not_found(url, request):
404,
{
'error': 'not_found',
'message': u'Les paramètres fournis sont incorrects ou ne correspondent pas à un avis',
'message': 'Les paramètres fournis sont incorrects ou ne correspondent pas à un avis',
},
request=request,
)

View File

@ -72,7 +72,7 @@ def connector(db):
def test_check_status(mocked_get, connector):
mocked_get.return_value = tests.utils.FakedResponse(content=FAKE_HELLO_RESPONSE, status_code=200)
resp = connector.check_status()
assert resp['data'] == u'InteropAPI v1 (c) Arpège 2017'
assert resp['data'] == 'InteropAPI v1 (c) Arpège 2017'
@mock.patch('passerelle.utils.Request.get')

View File

@ -85,7 +85,7 @@ def test_get_type_de_voie(app, connector, monkeypatch):
def test_get_types_equipement(app, connector, monkeypatch):
return_value = u"""<?xml version="1.0" encoding="UTF-8" standalone="no"?>
return_value = """<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<types>
<type id="2" label="Espaces Verts"></type>
<type id="4" label="Voirie">

View File

@ -168,7 +168,7 @@ def test_ws_dossiers(app, genesys):
assert response.json['data'][0]['id_per'] == '1234'
assert response.json['data'][0]['dossier']
assert response.json['data'][0]['id'] == str(link.id)
assert response.json['data'][0]['text'] == u'%s - John DOE' % link.id_per
assert response.json['data'][0]['text'] == '%s - John DOE' % link.id_per
assert response.json['data'][0]['dossier']['IDENTIFICATION'][0]['CIVILITE'] == 'Madame'
assert len(response.json['data'][0]['dossier']['DEMANDES']) == 1
assert len(response.json['data'][0]['dossier']['DEMANDES']['AD']) == 1
@ -193,11 +193,11 @@ def test_ws_dossiers(app, genesys):
assert response.json['data'][0]['id_per'] == '1234'
assert response.json['data'][0]['dossier']
assert response.json['data'][0]['id'] == str(link.id)
assert response.json['data'][0]['text'] == u'%s - John DOE' % link.id_per
assert response.json['data'][0]['text'] == '%s - John DOE' % link.id_per
assert response.json['data'][1]['id_per'] == '4567'
assert response.json['data'][1]['dossier']
assert response.json['data'][1]['id'] == str(link2.id)
assert response.json['data'][1]['text'] == u'%s - John DOE' % link2.id_per
assert response.json['data'][1]['text'] == '%s - John DOE' % link2.id_per
with tests.utils.mock_url(FAKE_URL, RESPONSE_SELECT_USAGER):
response = app.get(
@ -215,7 +215,7 @@ def test_ws_dossiers(app, genesys):
assert response.json['data']['id_per'] == '4567'
assert response.json['data']['dossier']
assert response.json['data']['id'] == str(link2.id)
assert response.json['data']['text'] == u'%s - John DOE' % link2.id_per
assert response.json['data']['text'] == '%s - John DOE' % link2.id_per
def test_row_locked_cache(genesys, freezer):
@ -332,31 +332,31 @@ def test_ws_search(app, genesys):
data = response.json['data']
assert data == [
{
u'id': u'tel1',
u'id_per': u'1234',
u'nom': u'DOE',
u'nom_naissance': u'TEST',
u'phone': u'0655555555',
u'prenom': u'John',
u'text': u'par SMS vers 06*****555',
'id': 'tel1',
'id_per': '1234',
'nom': 'DOE',
'nom_naissance': 'TEST',
'phone': '0655555555',
'prenom': 'John',
'text': 'par SMS vers 06*****555',
},
{
u'id': u'tel2',
u'id_per': u'1234',
u'nom': u'DOE',
u'nom_naissance': u'TEST',
u'phone': u'0644444444',
u'prenom': u'John',
u'text': u'par SMS vers 06*****444',
'id': 'tel2',
'id_per': '1234',
'nom': 'DOE',
'nom_naissance': 'TEST',
'phone': '0644444444',
'prenom': 'John',
'text': 'par SMS vers 06*****444',
},
{
u'email': u'test@sirus.fr',
u'id': u'email1',
u'id_per': u'1234',
u'nom': u'DOE',
u'nom_naissance': u'TEST',
u'prenom': u'John',
u'text': u'par courriel vers te***@***.fr',
'email': 'test@sirus.fr',
'id': 'email1',
'id_per': '1234',
'nom': 'DOE',
'nom_naissance': 'TEST',
'prenom': 'John',
'text': 'par courriel vers te***@***.fr',
},
]

View File

@ -6,7 +6,7 @@ from httmock import HTTMock, all_requests
import tests.utils
from passerelle.apps.feeds.models import Feed
FEED_EXAMPLE = u"""<?xml version="1.0" encoding="UTF-8"?>
FEED_EXAMPLE = """<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
<title>Actualités de Strasbourg</title>
<link rel="alternate" href="http://www.strasbourg.eu/fr/actualites/-/asset_publisher/lG7u/rss" />

View File

@ -123,11 +123,11 @@ def base_adresse_coordinates(db):
def street(db):
return StreetModel.objects.create(
ban_id='73001_0000',
city=u'Chambéry',
name=u'Une rüê très äccentuéè',
zipcode=u'73000',
type=u'street',
citycode=u'73001',
city='Chambéry',
name='Une rüê très äccentuéè',
zipcode='73000',
type='street',
citycode='73001',
resource=BaseAdresse.objects.first(),
)
@ -135,21 +135,21 @@ def street(db):
@pytest.fixture
def region(db):
return RegionModel.objects.create(
name=u'Auvergne-Rhône-Alpes', code='84', resource=BaseAdresse.objects.first()
name='Auvergne-Rhône-Alpes', code='84', resource=BaseAdresse.objects.first()
)
@pytest.fixture
def department(db, region):
return DepartmentModel.objects.create(
name=u'Savoie', code='73', region=region, resource=BaseAdresse.objects.first()
name='Savoie', code='73', region=region, resource=BaseAdresse.objects.first()
)
@pytest.fixture
def city(db, region, department):
return CityModel.objects.create(
name=u'Chambéry',
name='Chambéry',
code='73065',
zipcode='73000',
population=42000,
@ -162,7 +162,7 @@ def city(db, region, department):
@pytest.fixture
def miquelon(db):
return CityModel.objects.create(
name=u'Miquelon-Langlade',
name='Miquelon-Langlade',
code='97501',
zipcode='97500',
population=42,
@ -244,7 +244,7 @@ def test_base_adresse_search_qs_parameters_error(app, base_adresse, mock_api_adr
resp = app.get('/base-adresse/%s/search' % base_adresse.slug, status=400)
assert resp.json['err'] == 1
assert resp.json['err_class'] == 'passerelle.views.WrongParameter'
assert resp.json['err_desc'] == u"missing parameters: 'q'."
assert resp.json['err_desc'] == "missing parameters: 'q'."
# json-api serializer
resp = app.get('/base-adresse/%s/streets?zipcode=13400&coin=zz' % base_adresse.slug, status=400)
assert resp.json['err'] == 1
@ -358,8 +358,8 @@ def test_base_adresse_streets_get_by_id(app, base_adresse, street):
# create additional streets
other_street = StreetModel.objects.create(
ban_id='%d_000T' % (73001 + i),
city=u'Chambéry',
name=u'Une rue différente',
city='Chambéry',
name='Une rue différente',
zipcode=str(73001 + i),
type='street',
citycode=str(73001 + i),
@ -394,8 +394,8 @@ def test_base_adresse_streets_get_by_id(app, base_adresse, street):
def test_base_adresse_streets_get_by_codes(app, base_adresse, street):
for i in range(20):
StreetModel.objects.create(
city=u'Paris %d' % i,
name=u'La rue %d' % i,
city='Paris %d' % i,
name='La rue %d' % i,
zipcode=str(75000 + i * 10),
type='street',
citycode=str(75000 + i * 11),
@ -588,10 +588,10 @@ def test_base_adresse_cities_dash_in_q(app, base_adresse, miquelon):
def test_base_adresse_cities_region_department(app, base_adresse, miquelon, city):
reg = RegionModel.objects.create(name=u'IdF', code='11', resource=base_adresse)
dep = DepartmentModel.objects.create(name=u'Paris', code='75', region=reg, resource=base_adresse)
reg = RegionModel.objects.create(name='IdF', code='11', resource=base_adresse)
dep = DepartmentModel.objects.create(name='Paris', code='75', region=reg, resource=base_adresse)
CityModel.objects.create(
name=u'Paris',
name='Paris',
code='75056',
zipcode='75014',
population=2000000,
@ -669,8 +669,8 @@ def test_base_adresse_departments(app, base_adresse, department, region):
def test_base_adresse_departments_region(app, base_adresse, department):
reg = RegionModel.objects.create(name=u'IdF', code='11', resource=base_adresse)
DepartmentModel.objects.create(name=u'Paris', code='75', region=reg, resource=base_adresse)
reg = RegionModel.objects.create(name='IdF', code='11', resource=base_adresse)
DepartmentModel.objects.create(name='Paris', code='75', region=reg, resource=base_adresse)
resp = app.get('/base-adresse/%s/departments?region_code=84' % base_adresse.slug)
result = resp.json['data']

View File

@ -73,7 +73,7 @@ class FakeService:
},
{
'IdPiece': 62,
'Libelle': u'Plan de masse des constructions à démolir',
'Libelle': 'Plan de masse des constructions à démolir',
'Descriptif': 'Un plan de masse des constructions...',
'CodePiece': 'PCA1',
'Reglementaire': False,
@ -130,28 +130,28 @@ class FakeService:
return [
OrderedDict(
[
(u'CodePiece', 'PC07'),
(u'DateDemande', datetime.datetime(2019, 4, 15, 0, 0)),
(u'DatePresentation', None),
(u'DateReception', None),
(u'Descriptif', u"Un document graphique..."),
(u'IdDosPiece', 133837),
(u'IdPiece', 58),
(u'LibellePiece', u"Document graphique permettant..."),
(u'NbDocuments', 0),
('CodePiece', 'PC07'),
('DateDemande', datetime.datetime(2019, 4, 15, 0, 0)),
('DatePresentation', None),
('DateReception', None),
('Descriptif', "Un document graphique..."),
('IdDosPiece', 133837),
('IdPiece', 58),
('LibellePiece', "Document graphique permettant..."),
('NbDocuments', 0),
]
),
OrderedDict(
[
(u'CodePiece', 'PC16-1'),
(u'DateDemande', datetime.datetime(2019, 4, 15, 0, 0)),
(u'DatePresentation', None),
(u'DateReception', None),
(u'Descriptif', u'Formulaire attestant...'),
(u'IdDosPiece', 133840),
(u'IdPiece', 99),
(u'LibellePiece', u'Formulaire attestant...'),
(u'NbDocuments', 0),
('CodePiece', 'PC16-1'),
('DateDemande', datetime.datetime(2019, 4, 15, 0, 0)),
('DatePresentation', None),
('DateReception', None),
('Descriptif', 'Formulaire attestant...'),
('IdDosPiece', 133840),
('IdPiece', 99),
('LibellePiece', 'Formulaire attestant...'),
('NbDocuments', 0),
]
),
]
@ -160,28 +160,28 @@ class FakeService:
return [
OrderedDict(
[
(u'CodePiece', 'AT1'),
(u'DateDemande', None),
(u'DatePresentation', None),
(u'DateReception', None),
(u'Descriptif', u"L'attestation constatant..."),
(u'IdDosPiece', 0),
(u'IdPiece', 191),
(u'LibellePiece', 'Attestation constat des travaux'),
(u'NbDocuments', 0),
('CodePiece', 'AT1'),
('DateDemande', None),
('DatePresentation', None),
('DateReception', None),
('Descriptif', "L'attestation constatant..."),
('IdDosPiece', 0),
('IdPiece', 191),
('LibellePiece', 'Attestation constat des travaux'),
('NbDocuments', 0),
]
),
OrderedDict(
[
(u'CodePiece', 'AT2'),
(u'DateDemande', None),
(u'DatePresentation', None),
(u'DateReception', None),
(u'Descriptif', u"Dans les cas..."),
(u'IdDosPiece', 0),
(u'IdPiece', 192),
(u'LibellePiece', u'Document du...'),
(u'NbDocuments', 0),
('CodePiece', 'AT2'),
('DateDemande', None),
('DatePresentation', None),
('DateReception', None),
('Descriptif', "Dans les cas..."),
('IdDosPiece', 0),
('IdPiece', 192),
('LibellePiece', 'Document du...'),
('NbDocuments', 0),
]
),
]
@ -198,13 +198,13 @@ class FakeService:
assert id_dossier in (123, '135792')
return OrderedDict(
[
(u'AdresseTerrain', u'all\xe9e des Fleurs'),
(u'CoTypeDossier', 'PC'),
(u'Commune', u'AIGREFEUILLE SUR MAINE'),
(u'DateDepot', datetime.datetime(2019, 9, 19, 0, 0)),
(u'IdDossier', 478864),
(u'NomDossier', 'PC 069 085 19 00010'),
(u'TypeDossier', 'Permis de construire'),
('AdresseTerrain', 'all\xe9e des Fleurs'),
('CoTypeDossier', 'PC'),
('Commune', 'AIGREFEUILLE SUR MAINE'),
('DateDepot', datetime.datetime(2019, 9, 19, 0, 0)),
('IdDossier', 478864),
('NomDossier', 'PC 069 085 19 00010'),
('TypeDossier', 'Permis de construire'),
]
)
@ -266,7 +266,7 @@ def test_pieces_management(connector, app, cached_data):
assert len(data) == 5
assert data[0]['text'] == 'Cerfa rempli'
assert data[0]['max_files'] == 1
assert data[1]['text'] == u'Cerfa demandeurs complémentaires'
assert data[1]['text'] == 'Cerfa demandeurs complémentaires'
assert data[1]['max_files'] == 6
assert data[2]['text'] == 'Plan de situation du terrain'
assert data[2]['max_files'] == 6
@ -484,7 +484,7 @@ def test_status_error(connector, app, cached_data):
resp = app.get('/cartads-cs/test/status?dossier_id=%s' % dossier.id)
assert (
resp.json['status_label']
== u"File refused (Le modèle sélectionné ne correspond à aucun Cerfa géré par l'application.)"
== "File refused (Le modèle sélectionné ne correspond à aucun Cerfa géré par l'application.)"
)
@ -496,7 +496,7 @@ def test_status_zip_not_considered_error(connector, app, cached_data):
dossier.zip_ack_response = 'False'
dossier.save()
resp = app.get('/cartads-cs/test/status?dossier_id=%s' % dossier.id)
assert resp.json['status_label'] == u"File not considered"
assert resp.json['status_label'] == "File not considered"
def test_additional_pieces_management(connector, app, cached_data):
@ -510,7 +510,7 @@ def test_additional_pieces_management(connector, app, cached_data):
assert len(data) == 2
assert data[0]['text'] == 'Document graphique permettant...'
assert data[0]['max_files'] == 6
assert data[1]['text'] == u'Formulaire attestant...'
assert data[1]['text'] == 'Formulaire attestant...'
assert data[1]['max_files'] == 6
for piece in data:
assert len(piece['files']) == 1

View File

@ -245,7 +245,7 @@ def test_data(client, setup, filetype):
def test_unicode_filter_data(client, setup, filetype):
filter_criteria = u'Benoît'
filter_criteria = 'Benoît'
_, url = setup(',id,,text,', filename=filetype, data=get_file_content(filetype))
filters = {'text': filter_criteria}
resp = client.get(url, filters)
@ -259,7 +259,7 @@ def test_unicode_filter_data(client, setup, filetype):
def test_unicode_case_insensitive_filter_data(client, setup, filetype):
_, url = setup(',id,,text,', filename=filetype, data=get_file_content(filetype))
filter_criteria = u'anaëlle'
filter_criteria = 'anaëlle'
filters = {'text': filter_criteria, 'case-insensitive': ''}
resp = client.get(url, filters)
result = parse_response(resp)

View File

@ -94,7 +94,7 @@ class MockedService(object):
elif self.error_class is TransportError:
raise self.error_class('connection error occured', None)
elif self.error_class is WebFaultHavingLatin1:
raise WebFault(message=u'éêè')
raise WebFault(message='éêè')
else:
raise Exception('random error')
@ -129,7 +129,7 @@ def test_call_service_error(dpark, app):
assert 'Error: random error' in resp.json['err_desc']
client.return_value = get_client(error_class=WebFaultHavingLatin1)
resp = app.get('/dpark/test/ping/')
assert u'ServiceError: éêè' in resp.json['err_desc']
assert 'ServiceError: éêè' in resp.json['err_desc']
def test_ping(dpark, app):
@ -156,7 +156,7 @@ def test_search(dpark, app):
assert resp.json['code'] == 'unknown-file'
# invalid cardnumber
client.return_value = get_client(
replydata={'CodeRetour': '04', 'MessageRetour': u'Numéro de support inconnu'}
replydata={'CodeRetour': '04', 'MessageRetour': 'Numéro de support inconnu'}
)
resp = app.get('/dpark/test/search/', params=params)
assert resp.json['err'] == 1
@ -184,7 +184,7 @@ def test_link(dpark, app):
assert resp.json['code'] == 'unknown-file'
# invalid cardnumber
client.return_value = get_client(
replydata={'CodeRetour': '04', 'MessageRetour': u'Numéro de support inconnu'}
replydata={'CodeRetour': '04', 'MessageRetour': 'Numéro de support inconnu'}
)
resp = app.post_json('/dpark/test/link/', params=params)
assert resp.json['err'] == 1
@ -420,11 +420,11 @@ def test_check_renewal_time(dpark, app):
url = '/dpark/test/check-renewal-time/'
params = {'firstnames': 'spam eggs', 'lastname': 'bar', 'filenumber': '1' * 9, 'badgenumber': '2' * 9}
client.return_value = get_client(
replydata={'CodeRetour': '02', 'MessageRetour': u'Renouvellement hors délai'}
replydata={'CodeRetour': '02', 'MessageRetour': 'Renouvellement hors délai'}
)
resp = app.get(url, params=params)
assert resp.json['data'] is False
assert resp.json['desc'] == u'Renouvellement hors délai'
assert resp.json['desc'] == 'Renouvellement hors délai'
client.return_value = get_client(replydata={'CodeRetour': '01', 'MessageRetour': 'Dossier existant'})
resp = app.get(url, params=params)
assert resp.json['data'] is True
@ -435,11 +435,11 @@ def test_check_renewal_duplicate(dpark, app):
url = '/dpark/test/check-renewal-time/'
params = {'firstnames': 'spam eggs', 'lastname': 'bar', 'filenumber': '1' * 9, 'badgenumber': '2' * 9}
client.return_value = get_client(
replydata={'CodeRetour': '02', 'MessageRetour': u'Demande déjà en cours'}
replydata={'CodeRetour': '02', 'MessageRetour': 'Demande déjà en cours'}
)
resp = app.get(url, params=params)
assert resp.json['data'] is False
assert resp.json['desc'] == u'Demande déjà en cours'
assert resp.json['desc'] == 'Demande déjà en cours'
client.return_value = get_client(replydata={'CodeRetour': '01', 'MessageRetour': 'Dossier existant'})
resp = app.get(url, params=params)
assert resp.json['data'] is True
@ -459,11 +459,11 @@ def test_check_creation_duplicate(dpark, app):
'applicant_lastname': 'Ham',
}
client.return_value = get_client(
replydata={'CodeRetour': '02', 'MessageRetour': u'Demande déjà en cours'}
replydata={'CodeRetour': '02', 'MessageRetour': 'Demande déjà en cours'}
)
resp = app.get(url, params=params)
assert resp.json['data'] is False
assert resp.json['desc'] == u'Demande déjà en cours'
assert resp.json['desc'] == 'Demande déjà en cours'
client.return_value = get_client(replydata={'CodeRetour': '01', 'MessageRetour': ''})
resp = app.get(url, params=params)
assert resp.json['data'] is True
@ -483,11 +483,11 @@ def test_check_creation_not_renewal(dpark, app):
'applicant_lastname': 'Ham',
}
client.return_value = get_client(
replydata={'CodeRetour': '02', 'MessageRetour': u'Usager existe déjà dans D-Park'}
replydata={'CodeRetour': '02', 'MessageRetour': 'Usager existe déjà dans D-Park'}
)
resp = app.get(url, params=params)
assert resp.json['data'] is False
assert resp.json['desc'] == u'Usager existe déjà dans D-Park'
assert resp.json['desc'] == 'Usager existe déjà dans D-Park'
client.return_value = get_client(replydata={'CodeRetour': '01', 'MessageRetour': ''})
resp = app.get(url, params=params)
assert resp.json['data'] is True
@ -508,13 +508,13 @@ def test_get_payment_infos(dpark, app):
'badgenumber': '2' * 9,
}
Pairing.objects.create(resource=dpark, **params)
client.return_value = get_client(replydata={'CodeRetour': '02', 'MessageRetour': u'Dossier inconnu'})
client.return_value = get_client(replydata={'CodeRetour': '02', 'MessageRetour': 'Dossier inconnu'})
resp = app.get(url)
assert resp.json['err'] == 0
assert resp.json['data'] == []
replydata = {
'CodeRetour': '01',
'MessageRetour': u'Demande acceptée',
'MessageRetour': 'Demande acceptée',
'NumeroDemande': '55555',
'Montant': 12500,
'TypePaiement': 10,
@ -568,7 +568,7 @@ def test_payment_notification(dpark, app, transaction_datetime, expected_date):
'badgenumber': '2' * 9,
},
)
operation.return_value = mock.Mock(CodeRetour='02', MessageRetour=u'Dossier inconnu')
operation.return_value = mock.Mock(CodeRetour='02', MessageRetour='Dossier inconnu')
resp = app.post_json(url, params=params)
assert operation.call_args_list[-1].args[5] == expected_date
assert resp.json['err'] == 1
@ -630,7 +630,7 @@ def test_registration(dpark, app, application_thirdparty_subscription):
)
assert demande_abonnementtiers in force_text(dpark.mock_requests[0].body)
assert resp.json['err'] == 1
assert resp.json['err_desc'] == u'Dossier incomplet'
assert resp.json['err_desc'] == 'Dossier incomplet'
# with complete application
dpark.mock_responses.append(
"""<?xml version="1.0" encoding="utf-8"?>
@ -668,7 +668,7 @@ def test_send_files(dpark, app, settings, freezer):
soap_call.side_effect = APIError('Numéro de demande introuvable')
resp = app.post_json(url, params=params)
assert resp.json['err'] == 1
assert resp.json['err_desc'] == u'Numéro de demande introuvable'
assert resp.json['err_desc'] == 'Numéro de demande introuvable'
params['justif_domicile'] = {
'filename': 'address_proof.pDf',
@ -699,10 +699,10 @@ def test_send_files(dpark, app, settings, freezer):
params['impot_revenu'] = 'this is my tax notice'
resp = app.post_json(url, params=params)
errors = [
u"<impot_revenu> value is not a dict",
u"<taxe_habitat> <content> is either absent or has an invalid value",
u"<taxe_habitat,2> <filename> is either absent or has an invalid value",
u"Invalid document type: <toto,6>",
"<impot_revenu> value is not a dict",
"<taxe_habitat> <content> is either absent or has an invalid value",
"<taxe_habitat,2> <filename> is either absent or has an invalid value",
"Invalid document type: <toto,6>",
]
assert resp.json['err'] == 1
assert resp.json['err_desc'] == '%s' % errors

View File

@ -6,7 +6,7 @@ import pytest
import tests.utils
from passerelle.apps.feeds.models import Feed
FEED_EXAMPLE = u"""<?xml version="1.0" encoding="UTF-8"?>
FEED_EXAMPLE = """<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
<title>Actualités de Strasbourg</title>
<link rel="alternate" href="http://www.strasbourg.eu/fr/actualites/-/asset_publisher/lG7u/rss" />

View File

@ -79,7 +79,7 @@ def test_gdema_services_and_typologies(app, gdema):
assert resp.json['err'] == 0
assert len(resp.json['data']) == 3
assert resp.json['data'][0]['id'] == '16151'
assert resp.json['data'][0]['text'] == u'DMT - Mobilité et transports'
assert resp.json['data'][0]['text'] == 'DMT - Mobilité et transports'
resp = app.get(endpoint + '/typology/', status=200)
assert requests_get.call_count == 2
@ -87,11 +87,11 @@ def test_gdema_services_and_typologies(app, gdema):
assert resp.json['err'] == 0
assert len(resp.json['data']) == 12
assert resp.json['data'][0]['id'] == '13067'
assert resp.json['data'][0]['text'] == u'Maintenance Cie'
assert resp.json['data'][0]['text'] == 'Maintenance Cie'
assert resp.json['data'][0]['service_id'] == '10173'
assert (
resp.json['data'][0]['service_text']
== u'DESPU - Administration Direction environnement et services publics urbains'
== 'DESPU - Administration Direction environnement et services publics urbains'
)
resp = app.get(endpoint + '/typology/?service_id=10426', status=200)
@ -100,9 +100,9 @@ def test_gdema_services_and_typologies(app, gdema):
assert resp.json['err'] == 0
assert len(resp.json['data']) == 7
assert resp.json['data'][0]['id'] == '10804'
assert resp.json['data'][0]['text'] == u'Activités périscolaires'
assert resp.json['data'][0]['text'] == 'Activités périscolaires'
assert resp.json['data'][0]['service_id'] == '10426'
assert resp.json['data'][0]['service_text'] == u'DEE - Périscolaire et éducatif'
assert resp.json['data'][0]['service_text'] == 'DEE - Périscolaire et éducatif'
def test_gdema_referentiel(app, gdema):
@ -143,7 +143,7 @@ def test_gdema_get_request(app, gdema):
assert resp.json['err'] == 0
assert resp.json['data']['Id'] == '1'
assert resp.json['data']['AnswerToProvide'] is True
assert resp.json['data']['Description'].startswith(u'contrôle')
assert resp.json['data']['Description'].startswith('contrôle')
assert resp.json['data']['ExpectedDate'] is None
assert resp.json['data']['Files'] == []
assert resp.json['data']['Handler']['CivilityId'] == '0'
@ -158,7 +158,7 @@ def test_gdema_get_request(app, gdema):
assert requests_get.call_args[0][0] == 'https://gdema.example.net/api/request/1/state'
assert 'data' in resp.json
assert resp.json['err'] == 0
assert resp.json['data'] == {'Id': '1', 'State': '64', 'StateLabel': u'Cloturée'}
assert resp.json['data'] == {'Id': '1', 'State': '64', 'StateLabel': 'Cloturée'}
def test_gdema_create_request(app, gdema):

View File

@ -128,13 +128,13 @@ def test_proxy_logger(mocked_get, caplog, app, arcgis):
assert record.levelno == 20
assert record.levelname == 'INFO'
assert record.name == 'passerelle.resource.arcgis.test'
assert u"endpoint GET /arcgis/test/mapservice-query?" in record.message
assert "endpoint GET /arcgis/test/mapservice-query?" in record.message
assert not hasattr(record, 'connector_result')
record = caplog.records[1]
assert record.levelno == 10
assert record.levelname == 'DEBUG'
assert record.name == 'passerelle.resource.arcgis.test'
assert u"endpoint GET /arcgis/test/mapservice-query?" in record.message
assert "endpoint GET /arcgis/test/mapservice-query?" in record.message
assert hasattr(record, 'connector_result')
data = resp.json['data']
@ -434,7 +434,7 @@ def test_endpoint_decorator_pre_process(db, app):
with patch_init, patch_object:
resp = app.post_json(url_foo, params=payload, status=400)
assert resp.json['err'] == 1
assert resp.json['err_desc'] == "foo/1/id: None is not of type %s" % repr(u'integer')
assert resp.json['err_desc'] == "foo/1/id: None is not of type %s" % repr('integer')
with patch_init, patch_object:
resp = app.post_json(url_bar, params=payload)
assert resp.json['err'] == 0

View File

@ -226,8 +226,8 @@ def test_demand_creation_params(app, setup):
with mock.patch('passerelle.utils.Request.post') as request_post:
request_post.return_value = get_typo_response()
payload = BASIC_PAYLOAD.copy()
payload['intervention_free_address'] = u'169, rue du Château'
payload['applicant_free_address'] = u'1, rue de l\'Est'
payload['intervention_free_address'] = '169, rue du Château'
payload['applicant_free_address'] = '1, rue de l\'Est'
app.post_json(
reverse(
'generic-endpoint',
@ -235,11 +235,11 @@ def test_demand_creation_params(app, setup):
),
params=payload,
)
assert request_post.call_args[1]['data']['int_adresse_manuelle'] == u'169, rue du Château'
assert request_post.call_args[1]['data']['dem_adresse_manuelle'] == u'1, rue de l\'Est'
assert request_post.call_args[1]['data']['int_adresse_manuelle'] == '169, rue du Château'
assert request_post.call_args[1]['data']['dem_adresse_manuelle'] == '1, rue de l\'Est'
assert request_post.call_args[1]['data']['obs_demande_urgente'] == 1
assert request_post.call_args[1]['data']['dem_comp'] == 'Voirie'
assert request_post.call_args[1]['data']['dem_pav'] == u'déchetterie'
assert request_post.call_args[1]['data']['dem_pav'] == 'déchetterie'
assert request_post.call_args[1]['data']['dem_reponse'] == 0
assert request_post.call_args[1]['data']['obs_description_probleme'] == 'thank you '

View File

@ -52,8 +52,8 @@ def test_checkdate_dechet_or_encombrant(app, setup, endpoint_dummy_cache):
)
json_result = response.json_body
assert json_result['err'] == 1
assert u'DECHET' in json_result['err_desc']
assert u'ENCOMBRANT' in json_result['err_desc']
assert 'DECHET' in json_result['err_desc']
assert 'ENCOMBRANT' in json_result['err_desc']
def test_checkdate_sti_code_optionnal_last_char(app, setup, endpoint_dummy_cache, monkeypatch):

View File

@ -321,7 +321,7 @@ def test_create_demand(mocked_post, app, setup):
'companyLocation': {'number': '', 'road': '', 'zipCode': '', 'city': ''},
'pictures': [],
'subType': '/api/sub_types/164',
'sourceContact': {'firstname': 'Foo', 'mail': 'foo@example.net', 'lastname': u'Bar'},
'sourceContact': {'firstname': 'Foo', 'mail': 'foo@example.net', 'lastname': 'Bar'},
}
assert response.json['data'] == json.loads(DEMAND_CREATION_RESPONSE)
assert mocked_post.call_count == 2

View File

@ -1686,7 +1686,7 @@ def test_okina_classes(app, okina):
assert resp.json['err'] == 0
assert len(resp.json['data']) == 4
assert resp.json['data'][0]['id'] == '1'
assert resp.json['data'][0]['text'] == u'École maternelle - Petite section'
assert resp.json['data'][0]['text'] == 'École maternelle - Petite section'
def test_okina_institutions(app, okina):
@ -1700,7 +1700,7 @@ def test_okina_institutions(app, okina):
assert resp.json['err'] == 0
assert len(resp.json['data']) == 2
assert resp.json['data'][0]['id'] == '277'
assert resp.json['data'][0]['text'] == u'Collège Touvent'
assert resp.json['data'][0]['text'] == 'Collège Touvent'
assert resp.json['data'][0]['lat'] == '46.791332586468016'
assert resp.json['data'][0]['lon'] == '1.6926355997775921'
@ -1711,7 +1711,7 @@ def test_okina_institutions(app, okina):
assert resp.json['err'] == 0
assert len(resp.json['data']) == 2
assert resp.json['data'][0]['id'] == '277'
assert resp.json['data'][0]['text'] == u'Collège Touvent'
assert resp.json['data'][0]['text'] == 'Collège Touvent'
resp = app.get(endpoint + '/from-city/36005/', status=200)
assert (
@ -1721,7 +1721,7 @@ def test_okina_institutions(app, okina):
assert resp.json['err'] == 0
assert len(resp.json['data']) == 2
assert resp.json['data'][0]['id'] == '277'
assert resp.json['data'][0]['text'] == u'Collège Touvent'
assert resp.json['data'][0]['text'] == 'Collège Touvent'
def test_okina_search(app, okina):
@ -1783,7 +1783,7 @@ def test_okina_stops_area(app, okina):
assert resp.json['err'] == 0
assert len(resp.json['data']) == 3
assert resp.json['data'][0]['id'] == '3281'
assert resp.json['data'][0]['text'] == u'Les Loges de Dressais'
assert resp.json['data'][0]['text'] == 'Les Loges de Dressais'
def test_okina_ods(app, okina):
@ -1846,7 +1846,7 @@ def test_okina_ods(app, okina):
assert len(resp.json['data']) == 1
assert resp.json['data'][0]['id'] == 'inst:276-seq:1-6-84'
assert (
resp.json['data'][0]['text'] == u'Brenne 1 vers écoles Antoine Fée, Saint Martin et Saint Vincent'
resp.json['data'][0]['text'] == 'Brenne 1 vers écoles Antoine Fée, Saint Martin et Saint Vincent'
)
assert resp.json['data'][0]['identifier'] == 'SYNDICAT ARDENTES 4 (semaine Aller)'
assert resp.json['data'][0]['vehicle_journey_id'] == '84'
@ -1858,7 +1858,7 @@ def test_okina_ods(app, okina):
assert len(resp.json['data']) == 1
assert resp.json['data'][0]['id'] == 'inst:276-seq:1-6-84'
assert (
resp.json['data'][0]['text'] == u'Brenne 1 vers écoles Antoine Fée, Saint Martin et Saint Vincent'
resp.json['data'][0]['text'] == 'Brenne 1 vers écoles Antoine Fée, Saint Martin et Saint Vincent'
)
assert resp.json['data'][0]['identifier'] == 'SYNDICAT ARDENTES 4 (semaine Aller)'
assert resp.json['data'][0]['vehicle_journey_id'] == '84'
@ -1882,7 +1882,7 @@ def test_okina_topology(app, okina):
assert resp.json['err'] == 0
assert len(resp.json['data']) == 1
assert resp.json['data'][0]['id'] == '2'
assert resp.json['data'][0]['text'] == u'réseau scolaire'
assert resp.json['data'][0]['text'] == 'réseau scolaire'
requests_get.return_value = tests.utils.FakedResponse(content=VEHICLE_JOURNEYS, status_code=200)
resp = app.get(endpoint + '/vehicle-journeys/', status=200)
@ -1890,7 +1890,7 @@ def test_okina_topology(app, okina):
assert resp.json['err'] == 0
assert len(resp.json['data']) == 3
assert resp.json['data'][0]['id'] == '306'
assert resp.json['data'][0]['text'] == u'019 02 - VELLES LYCEES DE CHATEAUROUX'
assert resp.json['data'][0]['text'] == '019 02 - VELLES LYCEES DE CHATEAUROUX'
def test_okina_errors(app, okina):

View File

@ -50,7 +50,7 @@ FAKED_CONTENT_Q_SEARCH = json.dumps(
"nom_rue": "RUE DE L'AUBEPINE",
"num_com": 482,
"numero": "33",
"source": u"Ville et Eurométropole de Strasbourg",
"source": "Ville et Eurométropole de Strasbourg",
},
"geometry": {"coordinates": [7.76978279836, 48.6060963542], "type": "Point"},
"record_timestamp": "2019-12-02T14:15:08.376000+00:00",
@ -66,7 +66,7 @@ FAKED_CONTENT_Q_SEARCH = json.dumps(
"nom_rue": "RUE DE L'AUBEPINE",
"num_com": 268,
"numero": "19",
"source": u"Ville et Eurométropole de Strasbourg",
"source": "Ville et Eurométropole de Strasbourg",
},
"geometry": {"coordinates": [7.66177412454, 48.4920620548], "type": "Point"},
"record_timestamp": "2019-12-02T14:15:08.376000+00:00",
@ -82,7 +82,7 @@ FAKED_CONTENT_Q_SEARCH = json.dumps(
"nom_rue": "RUE DE L'AUBEPINE",
"num_com": 482,
"numero": "29",
"source": u"Ville et Eurométropole de Strasbourg",
"source": "Ville et Eurométropole de Strasbourg",
},
"geometry": {"coordinates": [7.76988497729, 48.6056497224], "type": "Point"},
"record_timestamp": "2019-12-02T14:15:08.376000+00:00",
@ -113,7 +113,7 @@ FAKED_CONTENT_ID_SEARCH = json.dumps(
"nom_rue": "RUE DE L'AUBEPINE",
"num_com": 268,
"numero": "19",
u"source": "Ville et Eurométropole de Strasbourg",
"source": "Ville et Eurométropole de Strasbourg",
},
"geometry": {"coordinates": [7.66177412454, 48.4920620548], "type": "Point"},
"record_timestamp": "2019-12-02T14:15:08.376000+00:00",

View File

@ -142,7 +142,7 @@ FAKE_FEATURES_JSON = '''
"type": "FeatureCollection"
}'''
FAKE_ERROR = u'''<ows:ExceptionReport
FAKE_ERROR = '''<ows:ExceptionReport
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ows="http://www.opengis.net/ows/1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

View File

@ -147,7 +147,7 @@ def test_photon_search_qs_parameters_error(app, photon, mock_photon_search):
resp = app.get('/photon/%s/search' % photon.slug, status=400)
assert resp.json['err'] == 1
assert resp.json['err_class'] == 'passerelle.views.WrongParameter'
assert resp.json['err_desc'] == u"missing parameters: 'q'."
assert resp.json['err_desc'] == "missing parameters: 'q'."
@mock.patch('passerelle.utils.Request.get')

View File

@ -520,9 +520,9 @@ def test_getplaces_referential(app, connector, monkeypatch):
'some_custom_field': None,
},
'3': {
u'capacity': 30,
u'label': u'salle 3',
u'identifier': 3,
'capacity': 30,
'label': 'salle 3',
'identifier': 3,
'street_number': None,
'address': None,
'city': None,
@ -530,9 +530,9 @@ def test_getplaces_referential(app, connector, monkeypatch):
'some_custom_field': 'Yes',
},
'2': {
u'capacity': 20,
u'label': u'salle 2',
u'identifier': 2,
'capacity': 20,
'label': 'salle 2',
'identifier': 2,
'street_number': None,
'address': None,
'city': None,
@ -540,9 +540,9 @@ def test_getplaces_referential(app, connector, monkeypatch):
'some_custom_field': 'Yes',
},
'1': {
u'capacity': 10,
u'label': u'salle 1',
u'identifier': 1,
'capacity': 10,
'label': 'salle 1',
'identifier': 1,
'street_number': 1,
'address': 'rue planitech',
'city': 'thecity',
@ -557,9 +557,9 @@ def test_getplaces_referential(app, connector, monkeypatch):
response = app.get('/planitech/slug-planitech/getplacesreferential?some_custom_field=Yes')
assert response.json['data'] == {
'3': {
u'capacity': 30,
u'label': u'salle 3',
u'identifier': 3,
'capacity': 30,
'label': 'salle 3',
'identifier': 3,
'street_number': None,
'address': None,
'city': None,
@ -567,9 +567,9 @@ def test_getplaces_referential(app, connector, monkeypatch):
'some_custom_field': 'Yes',
},
'2': {
u'capacity': 20,
u'label': u'salle 2',
u'identifier': 2,
'capacity': 20,
'label': 'salle 2',
'identifier': 2,
'street_number': None,
'address': None,
'city': None,
@ -585,9 +585,9 @@ def test_getplaces_referential(app, connector, monkeypatch):
)
assert response.json['data'] == {
'3': {
u'capacity': 30,
u'label': u'salle 3',
u'identifier': 3,
'capacity': 30,
'label': 'salle 3',
'identifier': 3,
'street_number': None,
'address': None,
'city': None,
@ -610,9 +610,9 @@ def test_getplaces_referential(app, connector, monkeypatch):
'some_custom_field': None,
},
'3': {
u'capacity': 30,
u'label': u'salle 3',
u'identifier': 3,
'capacity': 30,
'label': 'salle 3',
'identifier': 3,
'street_number': None,
'address': None,
'city': None,
@ -620,9 +620,9 @@ def test_getplaces_referential(app, connector, monkeypatch):
'some_custom_field': 'Yes',
},
'2': {
u'capacity': 20,
u'label': u'salle 2',
u'identifier': 2,
'capacity': 20,
'label': 'salle 2',
'identifier': 2,
'street_number': None,
'address': None,
'city': None,
@ -630,9 +630,9 @@ def test_getplaces_referential(app, connector, monkeypatch):
'some_custom_field': 'Yes',
},
'1': {
u'capacity': 10,
u'label': u'salle 1',
u'identifier': 1,
'capacity': 10,
'label': 'salle 1',
'identifier': 1,
'street_number': 1,
'address': 'rue planitech',
'city': 'thecity',
@ -665,9 +665,9 @@ def test_getplace(app, connector, monkeypatch):
mock_planitech(monkeypatch, side_effect=side_effect)
response = app.get('/planitech/slug-planitech/getplace?id=2')
assert response.json['data'] == {
u'capacity': 20,
u'label': u'salle 2',
u'identifier': 2,
'capacity': 20,
'label': 'salle 2',
'identifier': 2,
'street_number': None,
'address': None,
'city': None,
@ -715,18 +715,18 @@ def test_getplaces_referential_no_configuration(app, connector, monkeypatch):
response = app.get('/planitech/slug-planitech/getplacesreferential')
expected_res = {
'2': {
u'capacity': 20,
u'label': u'salle 2',
u'identifier': 2,
'capacity': 20,
'label': 'salle 2',
'identifier': 2,
'street_number': None,
'address': None,
'city': None,
'zipcode': None,
},
'1': {
u'capacity': 10,
u'label': u'salle 1',
u'identifier': 1,
'capacity': 10,
'label': 'salle 1',
'identifier': 1,
'street_number': 1,
'address': 'rue planitech',
'city': 'thecity',
@ -813,14 +813,14 @@ def test_get_reservations_infos(app, connector, monkeypatch):
def freegaps_data():
referential = collections.OrderedDict(
[
(1.0, {u'capacity': 10.0, u'label': u'salle 1', u'identifier': 1.0}),
(1.0, {'capacity': 10.0, 'label': 'salle 1', 'identifier': 1.0}),
(
2.0,
{u'capacity': 20.0, u'label': u'salle 2', u'identifier': 2.0, u'some_custom_field': u'Yes'},
{'capacity': 20.0, 'label': 'salle 2', 'identifier': 2.0, 'some_custom_field': 'Yes'},
),
(
3.0,
{u'capacity': 30.0, u'label': u'salle 3', u'identifier': 3.0, u'some_custom_field': u'Yes'},
{'capacity': 30.0, 'label': 'salle 3', 'identifier': 3.0, 'some_custom_field': 'Yes'},
),
]
)
@ -868,9 +868,9 @@ def test_get_freegaps(app, connector, monkeypatch, settings):
'&start_date=2018-11-11&display=date'
)
assert response.json['data'] == [
{u'id': u'2018-11-11', u'text': u'dimanche 11 novembre 2018', u'short_text': '11/11/2018'},
{u'id': u'2018-11-12', u'text': u'lundi 12 novembre 2018', u'short_text': '12/11/2018'},
{u'id': u'2018-11-13', u'text': u'mardi 13 novembre 2018', u'short_text': '13/11/2018'},
{'id': '2018-11-11', 'text': 'dimanche 11 novembre 2018', 'short_text': '11/11/2018'},
{'id': '2018-11-12', 'text': 'lundi 12 novembre 2018', 'short_text': '12/11/2018'},
{'id': '2018-11-13', 'text': 'mardi 13 novembre 2018', 'short_text': '13/11/2018'},
]
# place display
@ -878,7 +878,7 @@ def test_get_freegaps(app, connector, monkeypatch, settings):
'/planitech/slug-planitech/getfreegaps?start_time=10:00&&end_time=11:00'
'&start_date=2018-11-11&display=place'
)
assert response.json['data'] == [{u'id': 1.0, u'text': u'salle 1'}, {u'id': 2.0, u'text': u'salle 2'}]
assert response.json['data'] == [{'id': 1.0, 'text': 'salle 1'}, {'id': 2.0, 'text': 'salle 2'}]
# full display
response = app.get(
@ -893,29 +893,29 @@ def test_get_freegaps(app, connector, monkeypatch, settings):
place_1 = full[0]
assert place_1['id'] == 1.0
assert place_1['text'] == u'salle 1'
assert place_1['text'] == 'salle 1'
assert place_1['dates'] == [
{u'available': True, u'id': u'2018-11-11'},
{u'available': True, u'id': u'2018-11-12'},
{u'available': False, u'id': u'2018-11-13'},
{'available': True, 'id': '2018-11-11'},
{'available': True, 'id': '2018-11-12'},
{'available': False, 'id': '2018-11-13'},
]
place_2 = full[1]
assert place_2['id'] == 2.0
assert place_2['text'] == u'salle 2'
assert place_2['text'] == 'salle 2'
assert place_2['dates'] == [
{u'available': True, u'id': u'2018-11-11'},
{u'available': True, u'id': u'2018-11-12'},
{u'available': True, u'id': u'2018-11-13'},
{'available': True, 'id': '2018-11-11'},
{'available': True, 'id': '2018-11-12'},
{'available': True, 'id': '2018-11-13'},
]
place_3 = full[2]
assert place_3['id'] == 3.0
assert place_3['text'] == u'salle 3'
assert place_3['text'] == 'salle 3'
assert place_3['dates'] == [
{u'available': False, u'id': u'2018-11-11'},
{u'available': False, u'id': u'2018-11-12'},
{u'available': False, u'id': u'2018-11-13'},
{'available': False, 'id': '2018-11-11'},
{'available': False, 'id': '2018-11-12'},
{'available': False, 'id': '2018-11-13'},
]
# general params interpretation

View File

@ -43,39 +43,39 @@ def email_handler():
def test_proxy_logger_basic(db, connector):
pr = ProxyLogger(connector)
pr.debug(u'some message')
pr.debug('some message')
rl_query = ResourceLog.objects.all()
assert len(rl_query) == 1
rl = rl_query.first()
assert rl.message == u'some message'
assert rl.message == 'some message'
assert rl.levelno == logging.DEBUG
assert rl.appname == u'feeds'
assert rl.slug == u'some-slug'
assert rl.appname == 'feeds'
assert rl.slug == 'some-slug'
def test_proxy_logger_std_interpolation(db, connector):
ResourceLog.objects.all().delete()
pr = ProxyLogger(connector)
pr.debug(u'some message %s', u'some var')
pr.debug('some message %s', 'some var')
rl_query = ResourceLog.objects.all()
rl = rl_query.first()
assert rl.message == u'some message some var'
assert rl.message == 'some message some var'
def test_proxy_logger_dict_interpolation(db, connector):
ResourceLog.objects.all().delete()
pr = ProxyLogger(connector)
pr.debug(u'some message %(var_name)s', {u'var_name': u'some var'})
pr.debug('some message %(var_name)s', {'var_name': 'some var'})
rl_query = ResourceLog.objects.all()
rl = rl_query.first()
assert rl.message == u'some message some var'
assert rl.message == 'some message some var'
def test_proxy_logger_ignore(db, connector):
ResourceLog.objects.all().delete()
connector.set_log_level('INFO')
pr = ProxyLogger(connector)
pr.debug(u'some message')
pr.debug('some message')
assert len(ResourceLog.objects.all()) == 0
@ -85,7 +85,7 @@ def test_proxy_logger_ignore_when_down(db, connector):
assert connector.down() is True
ResourceLog.objects.all().delete()
pr = ProxyLogger(connector)
pr.debug(u'some message')
pr.debug('some message')
assert len(ResourceLog.objects.all()) == 0
@ -181,7 +181,7 @@ def test_validate_notification_delays(db, connector):
@pytest.mark.parametrize('notification_delays', ['0', '0,5,100', '5,100'])
def test_log_on_connector_availability_change(db, connector, freezer, notification_delays):
connector.title = u'éléphant'
connector.title = 'éléphant'
availability_parameters = connector.availability_parameters
availability_parameters.notification_delays = notification_delays
availability_parameters.save()
@ -203,7 +203,7 @@ def test_log_on_connector_availability_change(db, connector, freezer, notificati
assert last_count1 == 2
assert ResourceLog.objects.all()[0].message == 'GET http://example.net/ (=> 404)'
assert ResourceLog.objects.all()[1].level == 'error' if notification_delays.startswith('0') else 'warning'
assert u'connector "éléphant" (Feed) is now down: 404 Client' in ResourceLog.objects.all()[1].message
assert 'connector "éléphant" (Feed) is now down: 404 Client' in ResourceLog.objects.all()[1].message
# move 5 minutes in the future
freezer.move_to(datetime.timedelta(seconds=60 * 5 + 1))
@ -219,7 +219,7 @@ def test_log_on_connector_availability_change(db, connector, freezer, notificati
assert last_count2 == last_count1 + 1
assert ResourceLog.objects.all()[2].level == 'error' if notification_delays != '0' else 'warning'
assert (
u'connector "éléphant" (Feed) has been down for 5 minutes: 404'
'connector "éléphant" (Feed) has been down for 5 minutes: 404'
in ResourceLog.objects.all()[2].message
)
@ -240,7 +240,7 @@ def test_log_on_connector_availability_change(db, connector, freezer, notificati
last_count3 = ResourceLog.objects.count()
assert last_count3 == last_count2 + 1
assert ResourceLog.objects.latest('id').level == 'info'
assert ResourceLog.objects.latest('id').message == u'connector "éléphant" (Feed) is back up'
assert ResourceLog.objects.latest('id').message == 'connector "éléphant" (Feed) is back up'
# move 3 minutes in the future
freezer.move_to(datetime.timedelta(seconds=60 * 3 + 1))

View File

@ -466,12 +466,12 @@ def test_log_http_request(caplog):
del extra['request_headers']['User-Agent']
assert extra == {
'request_headers': {
u'Accept': u'*/*',
u'Accept-Encoding': u'gzip, deflate, br',
u'Connection': u'keep-alive',
'Accept': '*/*',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive',
},
'request_url': 'https://example.com/',
'response_headers': {u'Error Webservice': u'\ufffd'},
'response_headers': {'Error Webservice': '\ufffd'},
'response_status': 200,
}

View File

@ -33,8 +33,8 @@ def test_signature():
assert '&nonce=' in signature.sign_url(URL, KEY)
# Test unicode key conversion to UTF-8
assert signature.check_url(signature.sign_url(URL, u'\xe9\xe9'), b'\xc3\xa9\xc3\xa9')
assert signature.check_url(signature.sign_url(URL, b'\xc3\xa9\xc3\xa9'), u'\xe9\xe9')
assert signature.check_url(signature.sign_url(URL, '\xe9\xe9'), b'\xc3\xa9\xc3\xa9')
assert signature.check_url(signature.sign_url(URL, b'\xc3\xa9\xc3\xa9'), '\xe9\xe9')
# Test timedelta parameter
now = datetime.datetime.utcnow()

View File

@ -68,7 +68,7 @@ def test_disable_strict_mode(mocked_post):
soap_resource = SOAPResource()
client = SOAPClient(soap_resource)
match = "Unexpected element %s, expected %s" % (repr(u'price'), repr(u'skipMe'))
match = "Unexpected element %s, expected %s" % (repr('price'), repr('skipMe'))
with pytest.raises(XMLParseError, match=match):
client.service.GetLastTradePrice(tickerSymbol='banana')

View File

@ -145,7 +145,7 @@ def test_solis_ping(app, solis, ping_response):
resp = app.get(endpoint, status=200)
assert resp.json['err'] == 0
assert resp.json['data'] == 'pong'
assert resp.json['response'] == u'Solis API est opérationnel.'
assert resp.json['response'] == 'Solis API est opérationnel.'
assert requests_get.call_args[1]['auth'] == ('usertest', 'userpass')
assert requests_get.call_args[1]['verify'] is True
@ -498,18 +498,18 @@ def test_solis_referentiels(app, solis):
assert requests_get.call_args[0][0].endswith('/solisapi/referentiels/trans/departement')
assert resp.json['err'] == 0
assert len(resp.json['data']) == 1
assert resp.json['data'][0]['text'] == u'Ardèche'
assert resp.json['data'][0]['text'] == 'Ardèche'
resp = app.get(url + '/trans/departement/?q=arde', status=200)
assert resp.json['err'] == 0
assert len(resp.json['data']) == 2
assert (resp.json['data'][0]['text'], resp.json['data'][1]['text']) == (u'Ardèche', 'Ardennes')
assert (resp.json['data'][0]['text'], resp.json['data'][1]['text']) == ('Ardèche', 'Ardennes')
resp = app.get(url + '/trans/departement/?id=7', status=200)
assert requests_get.call_args[0][0].endswith('/solisapi/referentiels/trans/departement')
assert resp.json['err'] == 0
assert len(resp.json['data']) == 1
assert resp.json['data'][0]['text'] == u'Ardèche'
assert resp.json['data'][0]['text'] == 'Ardèche'
resp = app.get(url + '/trans/departement/?id=99', status=200)
assert requests_get.call_args[0][0].endswith('/solisapi/referentiels/trans/departement')
@ -519,7 +519,7 @@ def test_solis_referentiels(app, solis):
resp = app.get(url + '/trans/departement/?q=arde&ignore=8', status=200)
assert resp.json['err'] == 0
assert len(resp.json['data']) == 1
assert resp.json['data'][0]['text'] == u'Ardèche'
assert resp.json['data'][0]['text'] == 'Ardèche'
resp = app.get(url + '/trans/departement/?q=arde&ignore=8,, 7', status=200)
assert resp.json['err'] == 0

View File

@ -8,7 +8,7 @@ import tests.utils
from passerelle.base.models import AccessRight, ApiUser
from passerelle.contrib.strasbourg_eu.models import StrasbourgEu
INTERESTS_EXAMPLE = u"""{
INTERESTS_EXAMPLE = """{
"interests": [
{
"id": "275305",
@ -34,14 +34,14 @@ INTERESTS_EXAMPLE = u"""{
]
}"""
USER_INTERESTS_EXAMPLE = u"""{
USER_INTERESTS_EXAMPLE = """{
"userId": "M0cG+MtX8/Zr+zSMuI+H7yTC7SeEHT/tvYr1BsdqZic=",
"interests": [
"275303"
]
}"""
NOTIFICATIONS_EXAMPLE = u"""{
NOTIFICATIONS_EXAMPLE = """{
"notifications": [
{
"id": "279201",
@ -79,17 +79,17 @@ NOTIFICATIONS_EXAMPLE = u"""{
]
}"""
SUCCESS_EXAMPLE = u"""{
SUCCESS_EXAMPLE = """{
"success": "MESSAGE"
}"""
ERROR_EXAMPLE = u"""{
ERROR_EXAMPLE = """{
"error": "MESSAGE"
}"""
UNAUTHORIZED_EXAMPLE = u"""{"error":"not authorized"}"""
UNAUTHORIZED_EXAMPLE = """{"error":"not authorized"}"""
FAVORITES_EXAMPLE = u"""{
FAVORITES_EXAMPLE = """{
"favorites": [
{
"id": "281701",
@ -110,7 +110,7 @@ FAVORITES_EXAMPLE = u"""{
]
}"""
FAVORITE_TYPES_EXAMPLE = u"""{
FAVORITE_TYPES_EXAMPLE = """{
"types": [
{
"id": "1",
@ -188,14 +188,14 @@ def test_interests(app, strasbourg_eu):
resp = app.get(endpoint)
assert len(resp.json['data']) == 2
assert resp.json['data'][0]['id'] == '275303'
assert resp.json['data'][0]['text'] == u"Type 1 / Centre d'intérêt 1"
assert resp.json['data'][0]['text'] == "Type 1 / Centre d'intérêt 1"
assert resp.json['data'][1]['id'] == '275305'
assert resp.json['data'][1]['text'] == u"Type 1 / Centre d'intérêt 2"
assert resp.json['data'][1]['text'] == "Type 1 / Centre d'intérêt 2"
resp = app.get(endpoint, params={'name_id': 'xxx'})
assert len(resp.json['data']) == 1
assert resp.json['data'][0]['id'] == '275303'
assert resp.json['data'][0]['text'] == u"Type 1 / Centre d'intérêt 1"
assert resp.json['data'][0]['text'] == "Type 1 / Centre d'intérêt 1"
resp = app.post_json(endpoint, params={})
assert resp.json['err_desc'] == 'missing name_id'

View File

@ -290,7 +290,7 @@ def test_endpoint_family_view(app, setup):
resp = app.get('/teamnet-axel/test/family/', params=params)
assert len(resp.json['data']['adults']) == 1
assert len(resp.json['data']['children']) == 1
assert resp.json['data']['family'] == u'8336'
assert resp.json['data']['family'] == '8336'
# test filtering
resp = app.get('/teamnet-axel/test/family/adults/', params=params)
data = resp.json['data']

View File

@ -1393,7 +1393,7 @@ def test_pre_sanitize_update_upperize(app, resource, update_params):
jsonschema.validate(update_params, json_schema)
check_upper(update_params)
assert upperize(u'something with an accent é') == u'SOMETHING WITH AN ACCENT E'
assert upperize('something with an accent é') == 'SOMETHING WITH AN ACCENT E'
def test_pre_sanitize_update_family_data_adresse(app, resource, update_params):

View File

@ -250,7 +250,7 @@ def wcs_factory(base_dir, wcs_class=Wcs, **kwargs):
with open(wcs_cfg_path, 'w') as fd:
fd.write(
u'''[main]
'''[main]
app_dir = %s\n'''
% tmp_app_dir
)
@ -258,7 +258,7 @@ app_dir = %s\n'''
local_settings_path = os.path.join(base_dir, 'local_settings.py')
with open(local_settings_path, 'w') as fd:
fd.write(
u'''
'''
WCS_LEGACY_CONFIG_FILE = '{base_dir}/wcs.cfg'
THEMES_DIRECTORY = '/'
ALLOWED_HOSTS = ['*']

View File

@ -24,7 +24,7 @@ def test_wcs_fixture(wcs_host):
assert wcs_host.url.startswith('http://127.0.0.1:')
requests.get(wcs_host.url)
response = requests.get(urlparse.urljoin(wcs_host.url, '/api/categories/'))
assert response.json()['data'][0]['title'] == u'Catégorie'
assert response.json()['data'][0]['title'] == 'Catégorie'
def test_wcs_api(wcs_host):

View File

@ -36,7 +36,7 @@ def spfr(settings, wcs_host, db, sftpserver):
settings.KNOWN_SERVICES = {
'wcs': {
'eservices': {
'title': u'Démarches',
'title': 'Démarches',
'url': wcs_host.url,
'secret': 'test',
'orig': 'test',
@ -54,7 +54,7 @@ def spfr(settings, wcs_host, db, sftpserver):
def test_resource(spfr):
assert [x[1] for x in get_wcs_choices()] == ['---------', u'D\xe9marches - Demande']
assert [x[1] for x in get_wcs_choices()] == ['---------', 'D\xe9marches - Demande']
def test_sftp_access(spfr, sftpserver):