|
20 | 20 | from sqlalchemy.dialects.postgresql import JSONB, insert |
21 | 21 | from sqlalchemy.ext.declarative import declarative_base |
22 | 22 | from sqlalchemy.sql.functions import coalesce |
| 23 | +from utils import standardize_phone_number |
23 | 24 |
|
24 | 25 | Base = declarative_base() |
25 | 26 |
|
@@ -92,21 +93,6 @@ def dedup_consecutive(table, unique_id, id, order_by, dedup_on): |
92 | 93 | return delete(table).where(unique_id == to_delete.c[0]) |
93 | 94 |
|
94 | 95 |
|
95 | | -def normalize_phone_number(number): |
96 | | - result = None |
97 | | - |
98 | | - if number and str(number) != "nan": |
99 | | - number = re.sub("[() -.+]", "", str(number)) |
100 | | - |
101 | | - if number and number[0] == "1": |
102 | | - number = number[1:] |
103 | | - |
104 | | - if number.isdigit() and len(number) == 10: |
105 | | - result = number |
106 | | - |
107 | | - return result |
108 | | - |
109 | | - |
110 | 96 | class PdpContacts(Base): |
111 | 97 | __tablename__ = "pdp_contacts" |
112 | 98 | __table_args__ = ( |
@@ -173,8 +159,10 @@ def insert_from_file_df(cls, df, conn): |
173 | 159 | df = df[column_translation.keys()] |
174 | 160 | df = df.rename(columns=column_translation) |
175 | 161 |
|
176 | | - df["phone"] = df["phone"].apply(normalize_phone_number) |
177 | | - df["mobile"] = df["mobile"].apply(normalize_phone_number) |
| 162 | + phone_numbers = [standardize_phone_number(phone) for phone in df["phone"]] |
| 163 | + mobile_numbers = [standardize_phone_number(phone) for phone in df["mobile"]] |
| 164 | + df["phone"] = phone_numbers |
| 165 | + df["mobile"] = mobile_numbers |
178 | 166 |
|
179 | 167 | dedup_on = [col for col in cls.__table__.columns if col.name in df.columns] |
180 | 168 | df["created_date"] = datetime.datetime.utcnow() |
@@ -237,7 +225,8 @@ def insert_from_df(cls, df, conn): |
237 | 225 | df = df[column_translation.keys()] |
238 | 226 | df = df.rename(columns=column_translation) |
239 | 227 |
|
240 | | - df["phone"] = df["phone"].apply(normalize_phone_number) |
| 228 | + phone_numbers = [standardize_phone_number(phone) for phone in df["phone"]] |
| 229 | + df["phone"] = phone_numbers |
241 | 230 |
|
242 | 231 | dedup_on = [col for col in cls.__table__.columns if col.name in df.columns] |
243 | 232 | df["created_date"] = datetime.datetime.utcnow() |
|
0 commit comments