From c7eb19fa57d4a9dfeed5ae644f0f5f45334ea75b Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Fri, 15 Jul 2016 16:48:12 +0200 Subject: [PATCH] more heuristics for splitting street/house and first/last name --- models/dp_delivery_carrier.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/models/dp_delivery_carrier.py b/models/dp_delivery_carrier.py index d80ece7..9d4f55d 100644 --- a/models/dp_delivery_carrier.py +++ b/models/dp_delivery_carrier.py @@ -15,11 +15,22 @@ def get_alpha3_country_from_alpha2(twodigit): # split the last word of a string containing stree name + house number def split_street_house(streethouse): + # first try to split at last space r = streethouse.rsplit(' ', 1) + # if that fails, try to split at last dot + if len(r) < 2: + r = streethouse.rsplit('.', 1) + # if that also fails, return empty house number + if len(r) < 2: + return (streethouse, '') return (r[0], r[1]) def split_first_lastname(name): + # try to split at last space r = name.rsplit(' ', 1) + # if this fails, simply claim everything is the last name + if len(r) < 2: + return ("", name) return (r[0], r[1]) class DPDeliveryCarrier(models.Model):