From 7ecd8408880207098ffb235a0c3fb01189df90a4 Mon Sep 17 00:00:00 2001 From: Christophe Boulanger Date: Thu, 10 Oct 2019 13:35:11 +0200 Subject: [PATCH] Namur : add postCode filter --- passerelle_imio_liege_lisrue/models.py | 32 +++++++++++++++----------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/passerelle_imio_liege_lisrue/models.py b/passerelle_imio_liege_lisrue/models.py index 1286756..f98f188 100644 --- a/passerelle_imio_liege_lisrue/models.py +++ b/passerelle_imio_liege_lisrue/models.py @@ -121,20 +121,24 @@ class ImioLiegeLisrue(BaseResource): return {'data': streets} @endpoint() - def voies_namur(self, request, q=None, **kwargs): - url = self.service_url - if q: + def voies_namur(self, request, q=None, postCode=None, **kwargs): + if q is None: + return {'data':[]} + else: + url = self.service_url + url = "{}?outSrid=31370".format(url) q = unicodedata.normalize('NFKD', request.GET['q']).encode('ascii', 'ignore') - # outSrid = unicodedata.normalize('NFKD', request.GET['outSrid']).encode('ascii', 'ignore') - url = "{}?q={}&outSrid=31370".format(url, q.lower()) + url = "{}&q={}".format(url, q.lower()) + result = requests.get(url, headers={'Accept': 'application/json'}, verify=self.verify_cert).json() - # return {'data':[{'id':'1','text':result,'url':url}]} - streets = [] - for item in result: - street_label = item.get('rueNom') - streets.append({ - 'id':item.get('rueCode'), - 'text':street_label, - }) - return {'data': streets} + streets = [] + for item in result: + if item.get('postCode') == postCode or postCode is None: + street_label = item.get('rueNom') + streets.append({ + 'id':item.get('rueCode'), + 'text':street_label, + 'postCode':item.get('postCode'), + }) + return {'data': streets}