Skip to content

Commit f337952

Browse files
committed
Merge upstream changes from r396
1 parent be5b87e commit f337952

2 files changed

Lines changed: 14 additions & 9 deletions

File tree

python/phonenumbers/geocoder.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,14 +124,18 @@ def country_name_for_number(numobj, lang, script=None, region=None):
124124
Returns a text description in the given language code, for the given phone
125125
number's region, or an empty string if no description is available."""
126126
number_region = region_code_for_number(numobj)
127-
if number_region in LOCALE_DATA:
127+
return region_display_name(number_region, lang, script, region)
128+
129+
130+
def region_display_name(region_code, lang, script=None, region=None):
131+
if region_code in LOCALE_DATA:
128132
# The Locale data has a set of names for this region, in various languages.
129-
name = LOCALE_DATA[number_region].get(lang, "")
133+
name = LOCALE_DATA[region_code].get(lang, "")
130134
if name.startswith('*'):
131135
# If the location name is "*<other_lang>", this indicates that the
132136
# name is held elsewhere, specifically in the [other_lang] entry
133137
other_lang = name[1:]
134-
name = LOCALE_DATA[number_region].get(other_lang, "")
138+
name = LOCALE_DATA[region_code].get(other_lang, "")
135139
return name
136140
return u""
137141

@@ -183,7 +187,7 @@ def description_for_valid_number(numobj, lang, script=None, region=None):
183187
return country_name_for_number(numobj, lang, script, region)
184188
else:
185189
# Otherwise, we just show the region(country) name for now.
186-
return country_name_for_number(numobj, lang, script, region)
190+
return region_display_name(number_region, lang, script, region)
187191
# TODO: Concatenate the lower-level and country-name information in an
188192
# appropriate way for each language.
189193

python/tests/geocodertest.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ def insert_test_geodata():
6363
_KOREAN = "ko"
6464
_GERMAN = "de"
6565
_FRENCH = "fr"
66+
_SPANISH = "es"
6667
_USA = "US"
6768

6869

@@ -130,12 +131,12 @@ def testGetDescriptionForFallBack(self):
130131

131132
def testGetDescriptionForNumberWithUserRegion(self):
132133
# User in Italy, American number. We should just show United States, in
133-
# German, and not more detailed information.
134-
self.assertEqual("Vereinigte Staaten von Amerika",
135-
geocoder.description_for_number(US_NUMBER1, _GERMAN, region="IT"))
134+
# Spanish, and not more detailed information.
135+
self.assertEqual("Estados Unidos",
136+
geocoder.description_for_number(US_NUMBER1, _SPANISH, region="IT"))
136137
# Unknown region - should just show country name.
137-
self.assertEqual("Vereinigte Staaten von Amerika",
138-
geocoder.description_for_number(US_NUMBER1, _GERMAN, region="ZZ"))
138+
self.assertEqual("Estados Unidos",
139+
geocoder.description_for_number(US_NUMBER1, _SPANISH, region="ZZ"))
139140
# User in the States, language German, should show detailed data.
140141
self.assertEqual("Kalifornien",
141142
geocoder.description_for_number(US_NUMBER1, _GERMAN, region="US"))

0 commit comments

Comments
 (0)