automatedblogpostcreater / phone_location_tracker.py
Pamudu13's picture
Upload 16 files
53e65b7 verified
raw
history blame
1.92 kB
import phonenumbers
from phonenumbers import geocoder, carrier, timezone
def track_phone_location(phone_number):
try:
# Parse the phone number
parsed_number = phonenumbers.parse(phone_number)
# Get location information
country = geocoder.description_for_number(parsed_number, "en")
# Get carrier information
service_provider = carrier.name_for_number(parsed_number, "en")
# Get timezone information
time_zones = timezone.time_zones_for_number(parsed_number)
# Check if the number is valid
is_valid = phonenumbers.is_valid_number(parsed_number)
return {
"phone_number": phone_number,
"country": country,
"service_provider": service_provider,
"time_zones": list(time_zones),
"is_valid": is_valid
}
except Exception as e:
return {
"error": str(e),
"phone_number": phone_number
}
def main():
while True:
print("\nPhone Number Location Tracker")
print("----------------------------")
phone_number = input("Enter phone number (with country code, e.g., +1234567890) or 'q' to quit: ")
if phone_number.lower() == 'q':
print("Goodbye!")
break
result = track_phone_location(phone_number)
if "error" in result:
print(f"\nError: {result['error']}")
else:
print("\nResults:")
print(f"Phone Number: {result['phone_number']}")
print(f"Country: {result['country']}")
print(f"Service Provider: {result['service_provider']}")
print(f"Time Zones: {', '.join(result['time_zones'])}")
print(f"Valid Number: {'Yes' if result['is_valid'] else 'No'}")
if __name__ == "__main__":
main()