improve returned street names (#7183)

This commit is contained in:
Serghei Mihai 2015-05-11 12:45:37 +02:00 committed by Frédéric Péters
parent b36d6e0fe4
commit b0fc33e094
1 changed files with 42 additions and 2 deletions

View File

@ -50,14 +50,54 @@ class VoiesView(View, SingleObjectMixin):
def get(self, request, *args, **kwargs):
insee = kwargs['insee']
prefix_map = {
'ALL': 'ALLEE',
'AUTO': 'AUTOROUTE',
'AV': 'AVENUE',
'BASS': 'BASSIN',
'BD': 'BOULEVARD',
'CAR': 'CARREFOUR',
'CHE': 'CHAUSSEE',
'COUR': 'COUR',
'CRS': 'COURS',
'DESC': 'DESCENTE',
'DOM': 'DOMAINE',
'ENCL': 'ENCLOS',
'ESP': 'ESPLANADE',
'ESPA': 'ESPACE',
'GR': '', # "GR GRAND-RUE JEAN MOULIN"
'IMP': 'IMPASSE',
'JARD': 'JARDIN',
'MAIL': '', # "MAIL LE GRAND MAIL"
'PARC': 'PARC',
'PARV': '', # "PARV PARVIS DE LA LEGION D HONNEUR"
'PAS': 'PASSAGE',
'PL': 'PLACE',
'PLAN': 'PLAN',
'PONT': 'PONT',
'QUA': 'QUAI',
'R': 'RUE',
'RAMB': '', # "RAMB RAMBLA DES CALISSONS"
'RPT': 'ROND-POINT',
'RTE': 'ROUTE',
'SQ': 'SQUARE',
'TSSE': '', # "TSSE TERRASSE DES ALLEES DU BOIS"
'TUN': 'TUNNEL',
'VIAD': 'VIADUC',
'VOI': 'VOIE',
}
if 'q' in request.GET:
result = self.get_object().sig_request('commune/' + insee + '/voie/'+ request.GET['q'])
else:
result = self.get_object().sig_request('commune/' + insee + '/voie')
voies = []
for i in result:
attrs = i['attributes']
voies.append({'id': attrs['nom_voie'], 'text': attrs['nom_voie']})
voie = i['attributes']['nom_voie']
for prefix, full in prefix_map.items():
if voie.startswith(prefix + ' '):
voie = (full + voie[len(prefix):]).strip()
voies.append({'id': i['attributes']['nom_voie'],
'text': voie})
voies.sort(lambda x, y: cmp(x['id'], y['id']))
return utils.response_for_json(request, {'data': voies})