|
|
|
|
@ -30,6 +30,8 @@ class SplitAndSort:
|
|
|
|
|
return result
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Une fonction qui valide tout ce qui est un couple n°/nom de rue
|
|
|
|
|
def isWorth(self, value):
|
|
|
|
|
# Le regex qui évalue ce qu'il faut garder
|
|
|
|
|
@ -47,7 +49,6 @@ class SplitAndSort:
|
|
|
|
|
result = False
|
|
|
|
|
return result
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Une fonction qui enlève tous les trucs peu utiles ou encombrants des adresses
|
|
|
|
|
# ("immeuble", infos en parenthèses, infos sur l'arrêté, etc)
|
|
|
|
|
def removeClutter(self,value):
|
|
|
|
|
@ -64,13 +65,16 @@ class SplitAndSort:
|
|
|
|
|
expr = r"(((\d).*(\da\b))(?=\s?\S?.{8,})|((\d).*(\db\b))(?=\s?\S?.{8,})|((\d).*(\dt\b))(?=\s?\S?.{8,})|((\d).*(\dbis\b))(?=\s?\S?.{8,})|((\d).*(\dter\b))(?=\s?\S?.{8,})|((\d).*(\d))(?=\s?\S?.{8,})|(\da\b)(?=\s?\S?.{8,})|(\db\b)(?=\s?\S?.{8,})|(\dbis\b)(?=\s?\S?.{8,})|(\dt\b)(?=\s?\S?.{8,})|(\dter\b)(?=\s?\S?.{8,})|(\d)(?=\s?\S?.{8,}))"
|
|
|
|
|
# On extrait le groupe numérique et on le place dans la variable "nbr"
|
|
|
|
|
sep = regex.search(expr, value, regex.IGNORECASE | regex.MULTILINE)
|
|
|
|
|
nbr = sep[0]
|
|
|
|
|
# On supprime le texte de la variable "nbr" de l'adresse (et on enlève les espaces en trop)
|
|
|
|
|
invexpr = regex.compile(nbr)
|
|
|
|
|
name = regex.sub(invexpr, '', value, regex.IGNORECASE | regex.MULTILINE)
|
|
|
|
|
name = name.strip()
|
|
|
|
|
# On retourne une liste avec le groupe numérique d'un côté, le nom de rue de l'autre
|
|
|
|
|
return (nbr,name)
|
|
|
|
|
if sep :
|
|
|
|
|
nbr = sep[0]
|
|
|
|
|
# On supprime le texte de la variable "nbr" de l'adresse (et on enlève les espaces en trop)
|
|
|
|
|
invexpr = regex.compile(nbr)
|
|
|
|
|
name = regex.sub(invexpr, '', value, regex.IGNORECASE | regex.MULTILINE)
|
|
|
|
|
name = name.strip()
|
|
|
|
|
# On retourne une liste avec le groupe numérique d'un côté, le nom de rue de l'autre
|
|
|
|
|
return (nbr,name)
|
|
|
|
|
else :
|
|
|
|
|
return ('01','erreur')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|