From 1a679611c2928089648b403374b13bd584904c50 Mon Sep 17 00:00:00 2001 From: Christophe Boulanger Date: Wed, 4 Dec 2019 11:02:13 +0100 Subject: [PATCH] black the models! --- passerelle_imio_liege_lisrue/models.py | 159 +++++++++++++++---------- 1 file changed, 96 insertions(+), 63 deletions(-) diff --git a/passerelle_imio_liege_lisrue/models.py b/passerelle_imio_liege_lisrue/models.py index f040211..6f2a9ca 100644 --- a/passerelle_imio_liege_lisrue/models.py +++ b/passerelle_imio_liege_lisrue/models.py @@ -28,25 +28,32 @@ from passerelle.utils.api import endpoint class ImioLiegeLisrue(BaseResource): PROFILE_CHOICES = ( - ('LIEGE','Liege'), - ('LIEGE_V2','Liege lisrue2'), - ('NAMUR','Namur'), + ("LIEGE", "Liege"), + ("LIEGE_V2", "Liege lisrue2"), + ("NAMUR", "Namur"), + ) + service_url = models.CharField( + max_length=128, + blank=False, + verbose_name=_("Service URL"), + help_text=_("SIG Web Service URL (ex: https://e-services.liege.be:8443/)"), + ) + profile = models.CharField(max_length=100, choices=PROFILE_CHOICES, default="Liege") + include_all_of_belgium = models.BooleanField( + default=True, verbose_name=_("Include all of Belgium") + ) + street_with_postal_code = models.BooleanField( + default=False, verbose_name=_("Return street with postal code") ) - service_url = models.CharField(max_length=128, blank=False, - verbose_name=_('Service URL'), - help_text=_('SIG Web Service URL (ex: https://e-services.liege.be:8443/)')) - profile = models.CharField(max_length=100, choices=PROFILE_CHOICES, default='Liege') - include_all_of_belgium = models.BooleanField(default=True, - verbose_name=_('Include all of Belgium')) - street_with_postal_code = models.BooleanField(default=False, - verbose_name=_('Return street with postal code')) - verify_cert = models.BooleanField(default=True, - verbose_name=_('Check HTTPS Certificate validity')) + verify_cert = models.BooleanField( + default=True, verbose_name=_("Check HTTPS Certificate validity") + ) + + category = _("Geographic information system") - category = _('Geographic information system') class Meta: - verbose_name = _('Liege Lisrue Service') + verbose_name = _("Liege Lisrue Service") @classmethod def get_verbose_name(cls): @@ -54,91 +61,117 @@ class ImioLiegeLisrue(BaseResource): @classmethod def get_icon_class(cls): - return 'gis' + return "gis" @classmethod def get_connector_slug(cls): - return 'imio-liege-lisrue' + return "imio-liege-lisrue" @endpoint() def voies(self, request, q=None, **kwargs): url = self.service_url - if self.profile == 'LIEGE_V2': + if self.profile == "LIEGE_V2": if self.include_all_of_belgium: - url += 'jsonruebelgique/findByValue?indexName=RUE&startResult=0&maxResult=30&value=' + url += "jsonruebelgique/findByValue?indexName=RUE&startResult=0&maxResult=30&value=" else: - url += 'jsonlgrue2com/' + url += "jsonlgrue2com/" else: if self.include_all_of_belgium: - url += 'jsonlisrue/' + url += "jsonlisrue/" else: - url += 'jsonlisrue2/' + url += "jsonlisrue2/" if q: - q = unicodedata.normalize('NFKD', request.GET['q']).encode('ascii', 'ignore') + q = unicodedata.normalize("NFKD", request.GET["q"]).encode( + "ascii", "ignore" + ) url += q.lower() - result = requests.get(url, headers={'Accept': 'application/json'}, - verify=self.verify_cert).json() - if result.has_key('data'): - result['rues'] = result.pop('data') - if isinstance(result['rues'], list): - lisrues = result['rues'] - elif isinstance(result['rues'], dict) and 'return' in result['rues']: - lisrues = [result['rues']['return']] - elif isinstance(result['rues'], dict) and 'rue' in result['rues']: - lisrues = [result['rues']['rue']] + result = requests.get( + url, headers={"Accept": "application/json"}, verify=self.verify_cert + ).json() + if result.has_key("data"): + result["rues"] = result.pop("data") + if isinstance(result["rues"], list): + lisrues = result["rues"] + elif isinstance(result["rues"], dict) and "return" in result["rues"]: + lisrues = [result["rues"]["return"]] + elif isinstance(result["rues"], dict) and "rue" in result["rues"]: + lisrues = [result["rues"]["rue"]] else: lisrues = [] streets = [] known_street_labels = {} for item in lisrues: - if item.get('rue') or item.get('libelle'): - street_label = item.get('rue') or item.get('libelle') - elif item.get('libelleMinuscule'): - street_label = '%s %s' % ( - item.get('particuleMinuscule') or '', - item.get('libelleMinuscule')) + if item.get("rue") or item.get("libelle"): + street_label = item.get("rue") or item.get("libelle") + elif item.get("libelleMinuscule"): + street_label = "%s %s" % ( + item.get("particuleMinuscule") or "", + item.get("libelleMinuscule"), + ) else: continue if street_label in known_street_labels: continue known_street_labels[street_label] = True if self.street_with_postal_code: - street_label = u"{} - {}".format(street_label, str(item.get('codePostal'))).strip() + street_label = u"{} - {}".format( + street_label, str(item.get("codePostal")) + ).strip() else: street_label = street_label.strip() - streets.append({ - 'id': item.get('codeRue') or item.get('codeStreet'), - 'text': street_label - }) - if (self.profile == 'LIEGE_V2'): - if item.get('statutVO') is not None and item.get('statutVO').get('code') == '1': - streets.append({ - 'codeCommissariat': item.get('commissariat').get('codeCommissariat') if item.get('commissariat') else '', - 'libelleCommissariat': item.get('commissariat').get('libelleCommissariat') if item.get('commissariat') else '' - }) - return {'data': streets} + streets.append( + { + "id": item.get("codeRue") or item.get("codeStreet"), + "text": street_label, + } + ) + if self.profile == "LIEGE_V2": + if ( + item.get("statutVO") is not None + and item.get("statutVO").get("code") == "1" + ): + streets.append( + { + "codeCommissariat": item.get("commissariat").get( + "codeCommissariat" + ) + if item.get("commissariat") + else "", + "libelleCommissariat": item.get("commissariat").get( + "libelleCommissariat" + ) + if item.get("commissariat") + else "", + } + ) + return {"data": streets} @endpoint() def voies_namur(self, request, q=None, postCode=None, **kwargs): if q is None: - return {'data':[]} + return {"data": []} else: url = self.service_url url = "{}?outSrid=31370".format(url) - q = unicodedata.normalize('NFKD', request.GET['q']).encode('ascii', 'ignore') + q = unicodedata.normalize("NFKD", request.GET["q"]).encode( + "ascii", "ignore" + ) url = "{}&q={}".format(url, q.lower()) - result = requests.get(url, headers={'Accept': 'application/json'}, - verify=self.verify_cert).json() + result = requests.get( + url, headers={"Accept": "application/json"}, verify=self.verify_cert + ).json() 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} + 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}