File size: 1,922 Bytes
53e65b7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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()