phonenumbers.geocoder
index
phonenumbers/geocoder.py

Phone number geocoding functionality
 
>>> import phonenumbers
>>> from phonenumbers.geocoder import description_for_number
>>> from phonenumbers.util import u
>>> gb_number = phonenumbers.parse("+442083612345", "GB")
>>> de_number = phonenumbers.parse("0891234567", "DE")
>>> ch_number = phonenumbers.parse("0431234567", "CH")
>>> str(description_for_number(gb_number, "en"))
'London'
>>> str(description_for_number(gb_number, "fr"))  # fall back to English
'London'
>>> str(description_for_number(gb_number, "en", region="GB"))
'London'
>>> str(description_for_number(gb_number, "en", region="US"))  # fall back to country
'United Kingdom'
>>> str(description_for_number(de_number, "en"))
'Munich'
>>> u('München') == description_for_number(de_number, "de")
True
>>> u('Zürich') == description_for_number(ch_number, "de")
True
>>> str(description_for_number(ch_number, "en"))
'Zurich'
>>> str(description_for_number(ch_number, "fr"))
'Zurich'
>>> str(description_for_number(ch_number, "it"))
'Zurigo'

 
Functions
       
country_name_for_number(numobj, lang, script=None, region=None)
Returns the customary display name in the given language for the given
territory the given PhoneNumber object is from.  If it could be from many
territories, nothing is returned.
 
Arguments:
numobj -- The PhoneNumber object for which we want to get a text description.
lang -- A 2-letter lowercase ISO 639-1 language code for the language in
              which the description should be returned (e.g. "en")
script -- A 4-letter titlecase (first letter uppercase, rest lowercase)
              ISO script code as defined in ISO 15924, separated by an
              underscore (e.g. "Hant")
region --  A 2-letter uppercase ISO 3166-1 country code (e.g. "GB")
 
The script and region parameters are currently ignored.
 
Returns a text description in the given language code, for the given phone
number's region, or an empty string if no description is available.
description_for_number(numobj, lang, script=None, region=None)
Return a text description of a PhoneNumber object for the given language.
 
The description might consist of the name of the country where the phone
number is from and/or the name of the geographical area the phone number
is from.  This function explicitly checks the validity of the number passed in
 
Arguments:
numobj -- The PhoneNumber object for which we want to get a text description.
lang -- A 2-letter lowercase ISO 639-1 language code for the language in
              which the description should be returned (e.g. "en")
script -- A 4-letter titlecase (first letter uppercase, rest lowercase)
              ISO script code as defined in ISO 15924, separated by an
              underscore (e.g. "Hant")
region -- The region code for a given user. This region will be omitted
              from the description if the phone number comes from this
              region. It should be a two-letter upper-case CLDR region
              code.
 
Returns a text description in the given language code, for the given phone
number, or an empty string if no description is available.
description_for_valid_number(numobj, lang, script=None, region=None)
Return a text description of a PhoneNumber object, in the language
provided.
 
The description might consist of the name of the country where the phone
number is from and/or the name of the geographical area the phone number
is from if more detailed information is available.
 
If the phone number is from the same region as the user, only a
lower-level description will be returned, if one exists. Otherwise, the
phone number's region will be returned, with optionally some more detailed
information.
 
For example, for a user from the region "US" (United States), we would
show "Mountain View, CA" for a particular number, omitting the United
States from the description. For a user from the United Kingdom (region
"GB"), for the same number we may show "Mountain View, CA, United States"
or even just "United States".
 
This function assumes the validity of the number passed in has already
been checked, and that the number is suitable for geocoding.  We consider
fixed-line and mobile numbers possible candidates for geocoding.
 
Arguments:
numobj -- A valid PhoneNumber object for which we want to get a text
              description.
lang -- A 2-letter lowercase ISO 639-1 language code for the language in
              which the description should be returned (e.g. "en")
script -- A 4-letter titlecase (first letter uppercase, rest lowercase)
              ISO script code as defined in ISO 15924, separated by an
              underscore (e.g. "Hant")
region -- The region code for a given user. This region will be omitted
              from the description if the phone number comes from this
              region. It should be a two-letter upper-case CLDR region
              code.
 
Returns a text description in the given language code, for the given phone
number, or an empty string if the number could come from multiple countries,
or the country code is in fact invalid.

 
Data
        __all__ = ['country_name_for_number', 'description_for_valid_number', 'description_for_number']