Skip to content

Commit 585b5e0

Browse files
committed
Merge branch 'dev' into python3
Conflicts: python/phonenumbers/data/region_AR.py python/phonenumbers/data/region_CL.py python/phonenumbers/data/region_DE.py python/phonenumbers/data/region_GA.py python/phonenumbers/data/region_IN.py python/phonenumbers/data/region_KR.py python/phonenumbers/data/region_US.py python/phonenumbers/geodata/__init__.py
2 parents aaf099d + e33cd35 commit 585b5e0

22 files changed

Lines changed: 7075 additions & 794 deletions

python/HISTORY

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,14 @@
11

2+
=====================
3+
What's new in 5.0b2
4+
=====================
5+
6+
Merge up to upstream Subversion revision 500.
7+
The upstream metadata at r489 didn't match the
8+
generated Java code in 5.0; this upstream revision
9+
fixed the mismatch.
10+
11+
212
=====================
313
What's new in 5.0b1
414
=====================

python/buildgeocodingdata.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@ def load_geodata_file(geodata, filename, locale, overall_prefix):
8080
if dm:
8181
prefix = dm.group('prefix')
8282
location = dm.group('location')
83+
if location != location.rstrip():
84+
print ("%s:%d: Warning: stripping trailing whitespace" % (filename, lineno))
85+
location = location.rstrip()
8386
if not prefix.startswith(overall_prefix):
8487
raise Exception("%s:%d: Prefix %s is not within %s" %
8588
(filename, lineno, prefix, overall_prefix))

python/phonenumbers/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@
121121

122122
# Version number is taken from the upstream libphonenumber version
123123
# together with an indication of the version of the Python-specific code.
124-
__version__ = "5.0b1"
124+
__version__ = "5.0b2"
125125

126126
__all__ = ['PhoneNumber', 'CountryCodeSource', 'FrozenPhoneNumber',
127127
'REGION_CODE_FOR_NON_GEO_ENTITY', 'NumberFormat', 'PhoneNumberDesc', 'PhoneMetadata',

python/phonenumbers/data/region_AR.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
voicemail=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
1717
no_international_dialling=PhoneNumberDesc(national_number_pattern='810\\d{7}', possible_number_pattern='\\d{10}', example_number='8101234567'),
1818
national_prefix='0',
19-
national_prefix_for_parsing=' 0?(?: (11| 2(?: 2(?: 02?| [13]| 2[13-79]| 4[1-6]| 5[2457]| 6[124-8]| 7[1-4]| 8[13-6]| 9[1267] )| 3(?: 02?| 1[467]| 2[03-6]| 3[13-8]| [49][2-6]| 5[2-8]| [67] )| 4(?: 7[3-578]| 9 )| 6(?: [0136]| 2[24-6]| 4[6-8]?| 5[15-8] )| 80| 9(?: 0[1-3]| [19]| 2\\d| 3[1-6]| 4[02568]?| 5[2-4]| 6[2-46]| 72?| 8[23]? ) )| 3(?: 3(?: 2[79]| 6| 8[2578] )| 4(?: 0[124-9]| [12]| 3[5-8]?| 4[24-7]| 5[4-68]?| 6[02-9]| 7[126]| 8[2379]?| 9[1-36-8] )| 5(?: 1| 2[1245]| 3[237]?| 4[1-46-9]| 6[2-4]| 7[1-6]| 8[2-5]? )| 6[24]| 7(?: 1[1568]| 2[15]| 3[145]| 4[13]| 5[14-8]| [069]| 7[2-57]| 8[126] )| 8(?: [01]| 2[15-7]| 3[2578]?| 4[13-6]| 5[4-8]?| 6[1-357-9]| 7[36-8]?| 8[5-8]?| 9[124] ) ) )15 )?',
19+
national_prefix_for_parsing=' 0?(?: (11| 2(?: 2(?: 02?| [13]| 2[13-79]| 4[1-6]| 5[2457]| 6[124-8]| 7[1-4]| 8[13-6]| 9[1267] )| 3(?: 02?| 1[467]| 2[03-6]| 3[13-8]| [49][2-6]| 5[2-8]| [67] )| 4(?: 7[3-578]| 9 )| 6(?: [0136]| 2[24-6]| 4[6-8]?| 5[15-8] )| 80| 9(?: 0[1-3]| [19]| 2\\d| 3[1-6]| 4[02568]?| 5[2-4]| 6[2-46]| 72?| 8[23]? ) )| 3(?: 3(?: 2[79]| 6| 8[2578] )| 4(?: 0[124-9]| [12]| 3[5-8]?| 4[24-7]| 5[4-68]?| 6[02-9]| 7[126]| 8[2379]?| 9[1-36-8] )| 5(?: 1| 2[1245]| 3[237]?| 4[1-46-9]| 6[2-4]| 7[1-6]| 8[2-5]? )| 6[24]| 7(?: 1[1568]| 2[15]| 3[145]| 4[13]| 5[14-8]| [069]| 7[2-57]| 8[126] )| 8(?: [01]| 2[15-7]| 3[2578]?| 4[13-6]| 5[4-8]?| 6[1-357-9]| 7[36-8]?| 8[5-8]?| 9[124] ) ) )15 )?',
2020
national_prefix_transform_rule='9\\1',
2121
number_format=[NumberFormat(pattern='([68]\\d{2})(\\d{3})(\\d{4})', format='\\1-\\2-\\3', leading_digits_pattern=['[68]'], national_prefix_formatting_rule='0\\1'),
2222
NumberFormat(pattern='(9)(11)(\\d{4})(\\d{4})', format='\\2 15-\\3-\\4', leading_digits_pattern=['911'], national_prefix_formatting_rule='0\\1'),

python/phonenumbers/data/region_CL.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
PHONE_METADATA_CL = PhoneMetadata(id='CL', country_code=56, international_prefix='(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))0',
55
general_desc=PhoneNumberDesc(national_number_pattern='(?:[2-9]|600|123)\\d{7,8}', possible_number_pattern='\\d{6,11}'),
66
fixed_line=PhoneNumberDesc(national_number_pattern='(?:2|32|41)\\d{7}|(?:3[3-5]|4[235]|5[1-3578]|6[13-57]|7[1-35])\\d{6,7}', possible_number_pattern='\\d{6,9}', example_number='21234567'),
7-
mobile=PhoneNumberDesc(national_number_pattern='9[6-9]\\d{7}', possible_number_pattern='\\d{8,9}', example_number='961234567'),
7+
mobile=PhoneNumberDesc(national_number_pattern='9[5-9]\\d{7}', possible_number_pattern='\\d{8,9}', example_number='961234567'),
88
toll_free=PhoneNumberDesc(national_number_pattern='800\\d{6}|1230\\d{7}', possible_number_pattern='\\d{9,11}', example_number='800123456'),
99
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
1010
shared_cost=PhoneNumberDesc(national_number_pattern='600\\d{7,8}', possible_number_pattern='\\d{10,11}', example_number='6001234567'),
@@ -19,7 +19,7 @@
1919
national_prefix_for_parsing='0|(1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))',
2020
number_format=[NumberFormat(pattern='(2)(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['2'], national_prefix_formatting_rule='(\\1)', domestic_carrier_code_formatting_rule='$CC (\\1)'),
2121
NumberFormat(pattern='(\\d{2})(\\d{2,3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['[357]|4[1-35]|6[13-57]'], national_prefix_formatting_rule='(\\1)', domestic_carrier_code_formatting_rule='$CC (\\1)'),
22-
NumberFormat(pattern='(9)([6-9]\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['9'], national_prefix_formatting_rule='0\\1'),
22+
NumberFormat(pattern='(9)([5-9]\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['9'], national_prefix_formatting_rule='0\\1'),
2323
NumberFormat(pattern='(44)(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['44'], national_prefix_formatting_rule='0\\1'),
2424
NumberFormat(pattern='([68]00)(\\d{3})(\\d{3,4})', format='\\1 \\2 \\3', leading_digits_pattern=['60|8'], national_prefix_formatting_rule='\\1'),
2525
NumberFormat(pattern='(600)(\\d{3})(\\d{2})(\\d{3})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['60'], national_prefix_formatting_rule='\\1'),

python/phonenumbers/data/region_DE.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
33

44
PHONE_METADATA_DE = PhoneMetadata(id='DE', country_code=49, international_prefix='00',
5-
general_desc=PhoneNumberDesc(national_number_pattern='[1-35-9]\\d{3,14}|4(?:[0-8]\\d{4,12}|9(?:4[1-8]|6[1-8]\\d?|[0-357]\\d)\\d{2,7})', possible_number_pattern='\\d{2,15}'),
5+
general_desc=PhoneNumberDesc(national_number_pattern='[1-35-9]\\d{3,14}|4(?:[0-8]\\d{4,12}|9(?:[0-37]\\d|4[1-8]|5\\d{1,2}|6[1-8]\\d?)\\d{2,7})', possible_number_pattern='\\d{2,15}'),
66
fixed_line=PhoneNumberDesc(national_number_pattern='[246]\\d{5,13}|3(?:[03-9]\\d{4,13}|2\\d{9})|5(?:0[2-8]|[1256]\\d|[38][0-8]|4\\d{0,2}|[79][0-7])\\d{3,11}|7(?:0[2-8]|[1-9]\\d)\\d{3,10}|8(?:0[2-9]|[1-9]\\d)\\d{3,10}|9(?:0[6-9]|[1-9]\\d)\\d{3,10}', possible_number_pattern='\\d{2,15}', example_number='30123456'),
77
mobile=PhoneNumberDesc(national_number_pattern='1(?:5[0-2579]\\d{8}|6[023]\\d{7,8}|7(?:[0-57-9]\\d?|6\\d)\\d{7})', possible_number_pattern='\\d{10,11}', example_number='15123456789'),
88
toll_free=PhoneNumberDesc(national_number_pattern='800\\d{7,10}', possible_number_pattern='\\d{10,13}', example_number='8001234567890'),
@@ -13,18 +13,20 @@
1313
pager=PhoneNumberDesc(national_number_pattern='16(?:4\\d{1,10}|[89]\\d{1,11})', possible_number_pattern='\\d{4,14}', example_number='16412345'),
1414
uan=PhoneNumberDesc(national_number_pattern='18(?:1\\d{5,11}|[2-9]\\d{8})', possible_number_pattern='\\d{8,14}', example_number='18500123456'),
1515
emergency=PhoneNumberDesc(national_number_pattern='11[02]', possible_number_pattern='\\d{3}', example_number='112'),
16-
voicemail=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
16+
voicemail=PhoneNumberDesc(national_number_pattern='17799\\d{7,8}', possible_number_pattern='\\d{12,13}', example_number='177991234567'),
1717
no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
1818
national_prefix='0',
1919
national_prefix_for_parsing='0',
2020
number_format=[NumberFormat(pattern='(\\d{2})(\\d{4,11})', format='\\1/\\2', leading_digits_pattern=['3[02]|40|[68]9'], national_prefix_formatting_rule='0\\1'),
2121
NumberFormat(pattern='(\\d{3})(\\d{3,11})', format='\\1/\\2', leading_digits_pattern=['2(?:\\d1|0[2389]|1[24]|28|34)|3(?:[3-9][15]|40)|[4-8][1-9]1|9(?:06|[1-9]1)'], national_prefix_formatting_rule='0\\1'),
2222
NumberFormat(pattern='(\\d{4})(\\d{2,11})', format='\\1/\\2', leading_digits_pattern=['[24-6]|[7-9](?:\\d[1-9]|[1-9]\\d)|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])', '[24-6]|[7-9](?:\\d[1-9]|[1-9]\\d)|3(?:3(?:0[1-467]|2[127-9]|3[124578]|[46][1246]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|3[1357]|4[13578]|6[1246]|7[1356]|9[1346])|5(?:0[14]|2[1-3589]|3[1357]|4[1246]|6[1-4]|7[1346]|8[13568]|9[1246])|6(?:0[356]|2[1-489]|3[124-6]|4[1347]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|3[1357]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|4[1347]|6[0135-9]|7[1467]|8[136])|9(?:0[12479]|2[1358]|3[1357]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))'], national_prefix_formatting_rule='0\\1'),
2323
NumberFormat(pattern='(\\d{5})(\\d{1,10})', format='\\1/\\2', leading_digits_pattern=['3'], national_prefix_formatting_rule='0\\1'),
24-
NumberFormat(pattern='([18]\\d{2})(\\d{7,10})', format='\\1 \\2', leading_digits_pattern=['1[5-7]|800'], national_prefix_formatting_rule='0\\1'),
24+
NumberFormat(pattern='(1\\d{2})(\\d{7,8})', format='\\1 \\2', leading_digits_pattern=['1[5-7]'], national_prefix_formatting_rule='0\\1'),
25+
NumberFormat(pattern='(177)(99)(\\d{7,8})', format='\\1 \\2 \\3', leading_digits_pattern=['177', '1779', '17799'], national_prefix_formatting_rule='0\\1'),
26+
NumberFormat(pattern='(8\\d{2})(\\d{7,10})', format='\\1 \\2', leading_digits_pattern=['800'], national_prefix_formatting_rule='0\\1'),
2527
NumberFormat(pattern='(\\d{3})(\\d)(\\d{4,10})', format='\\1 \\2 \\3', leading_digits_pattern=['(?:18|90)0', '180|900[1359]'], national_prefix_formatting_rule='0\\1'),
2628
NumberFormat(pattern='(1\\d{2})(\\d{5,11})', format='\\1 \\2', leading_digits_pattern=['181'], national_prefix_formatting_rule='0\\1'),
27-
NumberFormat(pattern='(18\\d{3})(\\d{6})', format='\\1 \\2', leading_digits_pattern=['18500'], national_prefix_formatting_rule='0\\1'),
29+
NumberFormat(pattern='(18\\d{3})(\\d{6})', format='\\1 \\2', leading_digits_pattern=['185', '1850', '18500'], national_prefix_formatting_rule='0\\1'),
2830
NumberFormat(pattern='(18\\d{2})(\\d{7})', format='\\1 \\2', leading_digits_pattern=['18[68]'], national_prefix_formatting_rule='0\\1'),
2931
NumberFormat(pattern='(18\\d)(\\d{8})', format='\\1 \\2', leading_digits_pattern=['18[2-579]'], national_prefix_formatting_rule='0\\1'),
3032
NumberFormat(pattern='(700)(\\d{4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['700'], national_prefix_formatting_rule='0\\1')])

python/phonenumbers/data/region_GA.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
33

44
PHONE_METADATA_GA = PhoneMetadata(id='GA', country_code=241, international_prefix='00',
5-
general_desc=PhoneNumberDesc(national_number_pattern='[12]\\d{6}|0\\d{7}', possible_number_pattern='\\d{6,8}'),
6-
fixed_line=PhoneNumberDesc(national_number_pattern='(?:1(?:4[4-8]|7\\d)|2(?:4[02]|5[04-689]|6[024-79]|8[236]|9[02368]))\\d{4}', possible_number_pattern='\\d{6,7}', example_number='1441234'),
7-
mobile=PhoneNumberDesc(national_number_pattern='0(?:5(?:0[89]|3[0-4]|8[0-26]|9[238])|6(?:0[3-7]|1[01]|2[0-7]|6[0-589]|71|83|9[57])|7(?:1[2-5]|2[89]|3[35-9]|4[01]|5[0-47-9]|[67]\\d|8[457-9]|9[0146]))\\d{4}', possible_number_pattern='\\d{8}', example_number='06031234'),
5+
general_desc=PhoneNumberDesc(national_number_pattern='[1-7]\\d{6}', possible_number_pattern='\\d{7}'),
6+
fixed_line=PhoneNumberDesc(national_number_pattern='1\\d{6}', possible_number_pattern='\\d{7}', example_number='1441234'),
7+
mobile=PhoneNumberDesc(national_number_pattern='[2-7]\\d{6}', possible_number_pattern='\\d{7}', example_number='6031234'),
88
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
99
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
1010
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
@@ -17,6 +17,4 @@
1717
no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
1818
national_prefix='0',
1919
national_prefix_for_parsing='0',
20-
number_format=[NumberFormat(pattern='(\\d)(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['[12]'], national_prefix_formatting_rule='0\\1'),
21-
NumberFormat(pattern='(0\\d)(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['0'])],
22-
leading_zero_possible=True)
20+
number_format=[NumberFormat(pattern='(\\d)(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', national_prefix_formatting_rule='0\\1')])

python/phonenumbers/data/region_IL.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
"""Auto-generated file, do not edit by hand. IL metadata"""
22
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
33

4-
PHONE_METADATA_IL = PhoneMetadata(id='IL', country_code=972, international_prefix='0(?:0|1[2-48])',
4+
PHONE_METADATA_IL = PhoneMetadata(id='IL', country_code=972, international_prefix='0(?:0|1[2-9])',
55
general_desc=PhoneNumberDesc(national_number_pattern='[17]\\d{6,9}|[2-589]\\d{3}(?:\\d{3,6})?|6\\d{3}', possible_number_pattern='\\d{4,10}'),
6-
fixed_line=PhoneNumberDesc(national_number_pattern='(?:[2-489]|7[2-46-8])\\d{7}', possible_number_pattern='\\d{7,9}', example_number='21234567'),
7-
mobile=PhoneNumberDesc(national_number_pattern='5(?:[02346-9]\\d{2}|5(?:22|33|44|5[58]|66|77|88))\\d{5}', possible_number_pattern='\\d{9}', example_number='501234567'),
6+
fixed_line=PhoneNumberDesc(national_number_pattern='[2-489]\\d{7}', possible_number_pattern='\\d{7,8}', example_number='21234567'),
7+
mobile=PhoneNumberDesc(national_number_pattern='5(?:[02347-9]\\d{2}|5(?:2[23]|3[34]|4[45]|5[5689]|6[67]|7[78]|8[89])|6[2-9]\\d)\\d{5}', possible_number_pattern='\\d{9}', example_number='501234567'),
88
toll_free=PhoneNumberDesc(national_number_pattern='1(?:80[019]\\d{3}|255)\\d{3}', possible_number_pattern='\\d{7,10}', example_number='1800123456'),
9-
premium_rate=PhoneNumberDesc(national_number_pattern='1(?:212|(?:919|200)\\d{2})\\d{4}', possible_number_pattern='\\d{8,10}', example_number='1919123456'),
9+
premium_rate=PhoneNumberDesc(national_number_pattern='1(?:212|(?:9(?:0[01]|19)|200)\\d{2})\\d{4}', possible_number_pattern='\\d{8,10}', example_number='1919123456'),
1010
shared_cost=PhoneNumberDesc(national_number_pattern='1700\\d{6}', possible_number_pattern='\\d{10}', example_number='1700123456'),
1111
personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
12-
voip=PhoneNumberDesc(national_number_pattern='77\\d{7}', possible_number_pattern='\\d{9}', example_number='771234567'),
12+
voip=PhoneNumberDesc(national_number_pattern='7(?:2[23]\\d|3[237]\\d|47\\d|6(?:5\\d|88)|7\\d{2}|8(?:33|55|77|81))\\d{5}', possible_number_pattern='\\d{9}', example_number='771234567'),
1313
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
1414
uan=PhoneNumberDesc(national_number_pattern='[2-689]\\d{3}', possible_number_pattern='\\d{4}', example_number='2250'),
1515
emergency=PhoneNumberDesc(national_number_pattern='1(?:0[012]|12)', possible_number_pattern='\\d{3}', example_number='112'),

0 commit comments

Comments
 (0)