Skip to content

Commit 7f61e15

Browse files
authored
Merge pull request #176 from mtdamert/master
Normalized phone numbers
2 parents 1eb9735 + d366629 commit 7f61e15

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

src/server/datasource_manager.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import re
2+
import phonenumbers
23

34

45
def __clean_csv_headers(header):
@@ -80,14 +81,19 @@ def volgistics_address(index, street):
8081

8182
return result
8283

84+
def normalize_phone_number(number):
85+
if str(number) == 'nan':
86+
return ""
87+
parsed_number = phonenumbers.parse(number, "US")
88+
return phonenumbers.format_number(parsed_number, phonenumbers.PhoneNumberFormat.NATIONAL)
8389

8490
SOURCE_NORMALIZATION_MAPPING = {
8591
"salesforcecontacts": {
8692
"source_id": "contact_id",
8793
"first_name": "first_name",
8894
"last_name": "last_name",
8995
"email": "email",
90-
"mobile": lambda df: df["mobile"].combine_first(df["phone"]),
96+
"mobile": lambda df: df["mobile"].combine_first(df["phone"]).apply(normalize_phone_number),
9197
"street_and_number": "mailing_street",
9298
"apartment": "mailing_street",
9399
"city": "mailing_city",
@@ -109,7 +115,7 @@ def volgistics_address(index, street):
109115
"first_name": "firstname",
110116
"last_name": "lastname",
111117
"email": "email",
112-
"mobile": "phone",
118+
"mobile": lambda df: df["phone"].apply(normalize_phone_number),
113119
"street_and_number": "street",
114120
"apartment": "apartment",
115121
"city": "city",
@@ -124,7 +130,7 @@ def volgistics_address(index, street):
124130
"first_name": "first_name",
125131
"last_name": "last_name",
126132
"email": "email",
127-
"mobile": lambda df: df["cell"].combine_first(df["home"]),
133+
"mobile": lambda df: df["cell"].combine_first(df["home"]).apply(normalize_phone_number),
128134
"street_and_number": lambda df: volgistics_address(1, df["street_1"]),
129135
"apartment": lambda df: volgistics_address(0, df["street_1"]),
130136
"city": "city",

src/server/requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,5 @@ requests
1212
pytest
1313
flask-jwt-extended
1414
alembic
15-
flask-cors
15+
flask-cors
16+
phonenumbers

0 commit comments

Comments
 (0)