| 13882 | return "N/D" |
| 13883 | |
| 13884 | def _normalize_carrier_name(self, carrier_name): |
| 13885 | carrier_name = (carrier_name or "").strip() |
| 13886 | if not carrier_name: |
| 13887 | return "N/D" |
| 13888 | txt = carrier_name.lower() |
| 13889 | replacements = { |
| 13890 | "ltd": " Ltd", |
| 13891 | "plc": " PLC", |
| 13892 | "srl": " s.r.l.", |
| 13893 | "inc": " Inc.", |
| 13894 | "sp zoo": " S.p.A.", |
| 13895 | "telefonica deutschland gmbh & co. ohg": "Telefonica", |
| 13896 | "vodafone italie": "Vodafone", |
| 13897 | "wind tre s.p.a.": "WindTre", |
| 13898 | "elysium": "Elysis", |
| 13899 | } |
| 13900 | for src, dst in replacements.items(): |
| 13901 | if src in txt: |
| 13902 | if dst.strip() not in txt: |
| 13903 | return f"{dst.strip()} (normalizzato)" |
| 13904 | break |
| 13905 | return carrier_name |
| 13906 | |
| 13907 | def _phone_score(self, info): |
| 13908 | score = 0 |