forked from suryanshsk/Python-Voice-Assistant-Suryanshsk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathphone_numbers.py
38 lines (30 loc) · 1.31 KB
/
phone_numbers.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import phonenumbers
from phonenumbers import carrier
def get_phone_number_info(phone_number_str):
try:
# Parse the phone number
parsed_number = phonenumbers.parse(phone_number_str)
# Get region code
region_code = phonenumbers.region_code_for_number(parsed_number)
# Get carrier name
carrier_name = carrier.name_for_number(parsed_number, "en")
# Validate the phone number
is_valid = phonenumbers.is_valid_number(parsed_number)
is_possible = phonenumbers.is_possible_number(parsed_number)
# Format phone number
international_format = phonenumbers.format_number(parsed_number, phonenumbers.PhoneNumberFormat.INTERNATIONAL)
national_format = phonenumbers.format_number(parsed_number, phonenumbers.PhoneNumberFormat.NATIONAL)
return {
"is_valid": is_valid,
"is_possible": is_possible,
"region_code": region_code,
"carrier": carrier_name,
"international_format": international_format,
"national_format": national_format,
}
except phonenumbers.phonenumberutil.NumberParseException as e:
return str(e)
if __name__ == "__main__":
phone_number_str = "+14155552671"
result = get_phone_number_info(phone_number_str)
print(result)