phonenumbers 9.0.16__py2.py3-none-any.whl → 9.0.18__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. phonenumbers/__init__.py +1 -1
  2. phonenumbers/carrierdata/data0.py +43 -43
  3. phonenumbers/carrierdata/data1.py +37 -37
  4. phonenumbers/carrierdata/data2.py +20 -43
  5. phonenumbers/data/region_AU.py +2 -2
  6. phonenumbers/data/region_BJ.py +4 -4
  7. phonenumbers/data/region_CC.py +1 -1
  8. phonenumbers/data/region_CX.py +1 -1
  9. phonenumbers/data/region_ET.py +1 -1
  10. phonenumbers/data/region_GB.py +1 -1
  11. phonenumbers/data/region_IL.py +1 -1
  12. phonenumbers/data/region_IR.py +1 -1
  13. phonenumbers/data/region_LB.py +1 -1
  14. phonenumbers/data/region_MC.py +4 -4
  15. phonenumbers/data/region_MG.py +1 -1
  16. phonenumbers/data/region_PY.py +9 -0
  17. phonenumbers/data/region_QA.py +1 -1
  18. phonenumbers/data/region_SG.py +1 -1
  19. phonenumbers/data/region_SN.py +1 -1
  20. phonenumbers/data/region_SV.py +3 -3
  21. phonenumbers/data/region_TJ.py +3 -3
  22. phonenumbers/data/region_UG.py +1 -1
  23. phonenumbers/data/region_ZA.py +1 -1
  24. phonenumbers/geodata/data12.py +1 -1
  25. phonenumbers/geodata/data13.py +1 -1
  26. phonenumbers/geodata/data14.py +1 -1
  27. phonenumbers/geodata/data15.py +1 -1
  28. phonenumbers/geodata/data16.py +1 -1
  29. phonenumbers/geodata/data17.py +1 -1
  30. phonenumbers/geodata/data18.py +1 -1
  31. phonenumbers/geodata/data19.py +1 -1
  32. phonenumbers/geodata/data20.py +1 -1
  33. phonenumbers/geodata/data21.py +1 -1
  34. phonenumbers/geodata/data22.py +1 -1
  35. phonenumbers/geodata/data23.py +1 -1
  36. phonenumbers/geodata/data24.py +1 -1
  37. phonenumbers/geodata/data25.py +1 -1
  38. phonenumbers/geodata/data26.py +1 -1
  39. phonenumbers/geodata/data27.py +1 -1
  40. phonenumbers/geodata/data28.py +1 -0
  41. phonenumbers/shortdata/region_PY.py +4 -2
  42. phonenumbers/shortdata/region_RO.py +3 -3
  43. phonenumbers/tzdata/data0.py +5 -1
  44. {phonenumbers-9.0.16.dist-info → phonenumbers-9.0.18.dist-info}/METADATA +1 -1
  45. {phonenumbers-9.0.16.dist-info → phonenumbers-9.0.18.dist-info}/RECORD +48 -48
  46. {phonenumbers-9.0.16.dist-info → phonenumbers-9.0.18.dist-info}/WHEEL +0 -0
  47. {phonenumbers-9.0.16.dist-info → phonenumbers-9.0.18.dist-info}/licenses/LICENSE +0 -0
  48. {phonenumbers-9.0.16.dist-info → phonenumbers-9.0.18.dist-info}/top_level.txt +0 -0
@@ -11,6 +11,7 @@ PHONE_METADATA_PY = PhoneMetadata(id='PY', country_code=595, international_prefi
11
11
  national_prefix='0',
12
12
  national_prefix_for_parsing='0',
13
13
  number_format=[NumberFormat(pattern='(\\d{3})(\\d{3,6})', format='\\1 \\2', leading_digits_pattern=['[2-9]0'], national_prefix_formatting_rule='0\\1'),
14
+ NumberFormat(pattern='(\\d{7})', format='\\1', leading_digits_pattern=['[15]']),
14
15
  NumberFormat(pattern='(\\d{2})(\\d{5})', format='\\1 \\2', leading_digits_pattern=['[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]'], national_prefix_formatting_rule='(0\\1)'),
15
16
  NumberFormat(pattern='(\\d{3})(\\d{4,5})', format='\\1 \\2', leading_digits_pattern=['2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85'], national_prefix_formatting_rule='(0\\1)'),
16
17
  NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{3,4})', format='\\1 \\2 \\3', leading_digits_pattern=['2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]'], national_prefix_formatting_rule='(0\\1)'),
@@ -18,4 +19,12 @@ PHONE_METADATA_PY = PhoneMetadata(id='PY', country_code=595, international_prefi
18
19
  NumberFormat(pattern='(\\d{3})(\\d{6})', format='\\1 \\2', leading_digits_pattern=['9(?:[5-79]|8[1-7])'], national_prefix_formatting_rule='0\\1'),
19
20
  NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['[2-8]'], national_prefix_formatting_rule='0\\1'),
20
21
  NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['9'])],
22
+ intl_number_format=[NumberFormat(pattern='(\\d{3})(\\d{3,6})', format='\\1 \\2', leading_digits_pattern=['[2-9]0']),
23
+ NumberFormat(pattern='(\\d{2})(\\d{5})', format='\\1 \\2', leading_digits_pattern=['[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]']),
24
+ NumberFormat(pattern='(\\d{3})(\\d{4,5})', format='\\1 \\2', leading_digits_pattern=['2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85']),
25
+ NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{3,4})', format='\\1 \\2 \\3', leading_digits_pattern=['2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]']),
26
+ NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['87']),
27
+ NumberFormat(pattern='(\\d{3})(\\d{6})', format='\\1 \\2', leading_digits_pattern=['9(?:[5-79]|8[1-7])']),
28
+ NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['[2-8]']),
29
+ NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['9'])],
21
30
  mobile_number_portable_region=True)
@@ -3,7 +3,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_QA = PhoneMetadata(id='QA', country_code=974, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}', possible_length=(7, 8, 9, 11)),
6
- fixed_line=PhoneNumberDesc(national_number_pattern='4(?:1111|2022)\\d{3}|4(?:[04]\\d\\d|14[0-6]|999)\\d{4}', example_number='44123456', possible_length=(8,)),
6
+ fixed_line=PhoneNumberDesc(national_number_pattern='4(?:(?:[014]\\d\\d|999)\\d|2022)\\d{3}', example_number='44123456', possible_length=(8,)),
7
7
  mobile=PhoneNumberDesc(national_number_pattern='[35-7]\\d{7}', example_number='33123456', possible_length=(8,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='800\\d{4}|(?:0080[01]|800)\\d{6}', example_number='8001234', possible_length=(7, 9, 11)),
9
9
  pager=PhoneNumberDesc(national_number_pattern='2[136]\\d{5}', example_number='2123456', possible_length=(7,)),
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_SG = PhoneMetadata(id='SG', country_code=65, international_prefix='0[0-3]\\d',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}', possible_length=(8, 10, 11)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='662[0-24-9]\\d{4}|6(?:[0-578]\\d|6[013-57-9]|9[0-35-9])\\d{5}', example_number='61234567', possible_length=(8,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='898[02-8]\\d{4}|(?:8(?:0[1-9]|[1-8]\\d|9[0-7])|9[0-8]\\d)\\d{5}', example_number='81234567', possible_length=(8,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='898[02-9]\\d{4}|(?:8(?:0[1-9]|[1-8]\\d|9[0-7])|9[0-8]\\d)\\d{5}', example_number='81234567', possible_length=(8,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='(?:18|8)00\\d{7}', example_number='18001234567', possible_length=(10, 11)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='1900\\d{7}', example_number='19001234567', possible_length=(11,)),
10
10
  voip=PhoneNumberDesc(national_number_pattern='(?:3[12]\\d|666)\\d{5}', example_number='31234567', possible_length=(8,)),
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_SN = PhoneMetadata(id='SN', country_code=221, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:[378]\\d|93)\\d{7}', possible_length=(9,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='3(?:0(?:1[0-2]|80)|282|3(?:8[1-9]|9[3-9])|611)\\d{5}', example_number='301012345', possible_length=(9,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='7(?:(?:[06-8]\\d|[19]0|21)\\d|5(?:0[01]|[19]0|2[25]|3[356]|[4-7]\\d|8[35]))\\d{5}', example_number='701234567', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='7(?:[05-8]\\d|[19]0|21)\\d{6}', example_number='701234567', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='800\\d{6}', example_number='800123456', possible_length=(9,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='88[4689]\\d{6}', example_number='884123456', possible_length=(9,)),
10
10
  shared_cost=PhoneNumberDesc(national_number_pattern='81[02468]\\d{6}', example_number='810123456', possible_length=(9,)),
@@ -2,11 +2,11 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_SV = PhoneMetadata(id='SV', country_code=503, international_prefix='00',
5
- general_desc=PhoneNumberDesc(national_number_pattern='[267]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?', possible_length=(7, 8, 11)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='(?:[267]\\d\\d|500)\\d{5}|(?:80\\d|900)\\d{4}(?:\\d{4})?', possible_length=(7, 8, 11)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='2(?:79(?:0[0347-9]|[1-9]\\d)|89(?:0[024589]|[1-9]\\d))\\d{3}|2(?:[1-69]\\d|[78][0-8])\\d{5}', example_number='21234567', possible_length=(8,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='[67]\\d{7}', example_number='70123456', possible_length=(8,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:500[0-4]|[67]\\d{3})\\d{4}', example_number='70123456', possible_length=(8,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='800\\d{8}|80[01]\\d{4}', example_number='8001234', possible_length=(7, 11)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='900\\d{4}(?:\\d{4})?', example_number='9001234', possible_length=(7, 11)),
10
10
  number_format=[NumberFormat(pattern='(\\d{3})(\\d{4})', format='\\1 \\2', leading_digits_pattern=['[89]']),
11
- NumberFormat(pattern='(\\d{4})(\\d{4})', format='\\1 \\2', leading_digits_pattern=['[267]']),
11
+ NumberFormat(pattern='(\\d{4})(\\d{4})', format='\\1 \\2', leading_digits_pattern=['[25-7]']),
12
12
  NumberFormat(pattern='(\\d{3})(\\d{4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['[89]'])])
@@ -2,11 +2,11 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_TJ = PhoneMetadata(id='TJ', country_code=992, international_prefix='810',
5
- general_desc=PhoneNumberDesc(national_number_pattern='[0-57-9]\\d{8}', possible_length=(9,), possible_length_local_only=(3, 5, 6, 7)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='(?:[0-57-9]\\d|66)\\d{7}', possible_length=(9,), possible_length_local_only=(3, 5, 6, 7)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:3(?:1[3-5]|2[245]|3[12]|4[24-7]|5[25]|72)|4(?:46|74|87))\\d{6}', example_number='372123456', possible_length=(9,), possible_length_local_only=(3, 5, 6, 7)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:33[03-9]|4(?:1[18]|4[02-479])|81[1-9])\\d{6}|(?:[09]\\d|1[0-27-9]|2[0-27]|[34]0|5[05]|7[01578]|8[078])\\d{7}', example_number='917123456', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:33[03-9]|4(?:1[18]|4[02-479])|81[1-9])\\d{6}|(?:[09]\\d|1[0-27-9]|2[0-27]|3[08]|40|5[05]|66|7[01578]|8[078])\\d{7}', example_number='917123456', possible_length=(9,)),
8
8
  preferred_international_prefix='8~10',
9
9
  number_format=[NumberFormat(pattern='(\\d{6})(\\d)(\\d{2})', format='\\1 \\2 \\3', leading_digits_pattern=['331', '3317']),
10
10
  NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['44[02-479]|[34]7']),
11
11
  NumberFormat(pattern='(\\d{4})(\\d)(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['3(?:[1245]|3[12])']),
12
- NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['[0-57-9]'])])
12
+ NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['\\d'])])
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_UG = PhoneMetadata(id='UG', country_code=256, international_prefix='00[057]',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='800\\d{6}|(?:[29]0|[347]\\d)\\d{7}', possible_length=(9,), possible_length_local_only=(5, 6, 7)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='20(?:(?:240|30[67])\\d|6(?:00[0-2]|30[0-4]))\\d{3}|(?:20(?:[017]\\d|2[5-9]|3[1-4]|5[0-4]|6[15-9])|[34]\\d{3})\\d{5}', example_number='312345678', possible_length=(9,), possible_length_local_only=(5, 6, 7)),
7
- mobile=PhoneNumberDesc(national_number_pattern='72[48]0\\d{5}|7(?:[014-8]\\d|2[067]|36|9[0-289])\\d{6}', example_number='712345678', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='72[48]0\\d{5}|7(?:[014-8]\\d|2[0167]|36|9[0-289])\\d{6}', example_number='712345678', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='800[1-3]\\d{5}', example_number='800123456', possible_length=(9,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='90[1-3]\\d{6}', example_number='901123456', possible_length=(9,)),
10
10
  national_prefix='0',
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_ZA = PhoneMetadata(id='ZA', country_code=27, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[1-79]\\d{8}|8\\d{4,9}', possible_length=(5, 6, 7, 8, 9, 10)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:2(?:0330|4302)|52087)0\\d{3}|(?:1[0-8]|2[1-378]|3[1-69]|4\\d|5[1346-8])\\d{7}', example_number='101234567', possible_length=(9,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:1(?:3492[0-25]|4495[0235]|549(?:20|5[01]))|4[34]492[01])\\d{3}|8[1-4]\\d{3,7}|(?:2[27]|47|54)4950\\d{3}|(?:1(?:049[2-4]|9[12]\\d\\d)|(?:50[0-2]|6\\d\\d|7(?:[0-46-9]\\d|5[0-4]))\\d\\d|8(?:5\\d{3}|7(?:08[67]|158|28[5-9]|310)))\\d{4}|(?:1[6-8]|28|3[2-69]|4[025689]|5[36-8])4920\\d{3}|(?:12|[2-5]1)492\\d{4}', example_number='711234567', possible_length=(5, 6, 7, 8, 9)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:1(?:3492[0-25]|4495[0235]|549(?:20|5[01]))|4[34]492[01])\\d{3}|8[1-4]\\d{3,7}|(?:2[27]|47|54)4950\\d{3}|(?:1(?:049[2-4]|9[12]\\d\\d)|(?:50[0-2]|[67]\\d\\d)\\d\\d|8(?:5\\d{3}|7(?:08[67]|158|28[5-9]|310)))\\d{4}|(?:1[6-8]|28|3[2-69]|4[025689]|5[36-8])4920\\d{3}|(?:12|[2-5]1)492\\d{4}', example_number='711234567', possible_length=(5, 6, 7, 8, 9)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='80\\d{7}', example_number='801234567', possible_length=(9,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='(?:86[2-9]|9[0-2]\\d)\\d{6}', example_number='862345678', possible_length=(9,)),
10
10
  shared_cost=PhoneNumberDesc(national_number_pattern='860\\d{6}', example_number='860123456', possible_length=(9,)),
@@ -2157,6 +2157,7 @@ data = {
2157
2157
  '61851294':{'en': 'Wyndham'},
2158
2158
  '618513':{'en': 'Marble Bar/Millstream/Mitchell/Mount Bruce/Newman/Onslow/Ord/Pannawonica/Paraburdoo/Port Hedland/Roebuck/Sandfire/Telfer/Tom Price/Whaleback/Wittenoom/Wyndham/Derby/Broome/Christmas Island/Cocos Island/Dampier/De Grey/Fitzroy Crossing/Great Sandy/Hall\'s Creek/Karratha/Kununurra/Leopold'},
2159
2159
  '618514':{'en': 'Roebuck /Sandfire /Tom Price/Telfer/Wyndham/Whaleback /Wittenoom/Wyndham'},
2160
+ '61855':{'en': 'Bakers Hill/Bindoon/Bullsbrook East/Byford/Dwellingup/Gidgegannup/Gingin/Guilderton/Mandurah/Mount Helena/Mount Wells/Pinjarra/Rockingham/Toodyay/Yanchep'},
2160
2161
  '61860000':{'en': 'Kalgoorlie'},
2161
2162
  '61860001':{'en': 'Burracoppin'},
2162
2163
  '61860002':{'en': 'Burracoppin'},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '61885876':{'en': 'Wunkar'},
10019
10020
  '61885877':{'en': 'Wunkar'},
10020
10021
  '61885878':{'en': 'Paruna'},
10021
- '61885879':{'en': 'Wanbi'},
10022
10022
  }
@@ -19,6 +19,7 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '61885879':{'en': 'Wanbi'},
22
23
  '6188588':{'en': 'Barmera'},
23
24
  '61885890':{'en': 'Mannum'},
24
25
  '61885891':{'en': 'Renmark'},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '61899370':{'en': 'Kalbarri'},
10019
10020
  '61899371':{'en': 'Kalbarri'},
10020
10021
  '61899372':{'en': 'Kalbarri'},
10021
- '61899373':{'en': 'Yandanooka'},
10022
10022
  }
@@ -19,6 +19,7 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '61899373':{'en': 'Yandanooka'},
22
23
  '61899374':{'en': 'Yandanooka'},
23
24
  '61899375':{'en': 'Guranu'},
24
25
  '61899376':{'en': 'Guranu'},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '861308385':{'en': 'Anyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u5b89\u9633\u5e02')},
10019
10020
  '861308386':{'en': 'Anyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u5b89\u9633\u5e02')},
10020
10021
  '861308387':{'en': 'Anyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u5b89\u9633\u5e02')},
10021
- '861308388':{'en': 'Kaifeng, Henan', 'zh': u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
10022
10022
  }
@@ -19,6 +19,7 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '861308388':{'en': 'Kaifeng, Henan', 'zh': u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
22
23
  '861308389':{'en': 'Puyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u6fee\u9633\u5e02')},
23
24
  '861308390':{'en': 'Huzhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u6e56\u5dde\u5e02')},
24
25
  '861308391':{'en': 'Huzhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u6e56\u5dde\u5e02')},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '861324901':{'en': 'Zhongshan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
10019
10020
  '861324902':{'en': 'Zhongshan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
10020
10021
  '861324903':{'en': 'Zhongshan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
10021
- '861324904':{'en': 'Zhongshan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
10022
10022
  }
@@ -19,6 +19,7 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '861324904':{'en': 'Zhongshan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
22
23
  '861324905':{'en': 'Shenzhen, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
23
24
  '861324906':{'en': 'Shenzhen, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
24
25
  '861324907':{'en': 'Shenzhen, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '86134131':{'en': 'Huizhou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u60e0\u5dde\u5e02')},
10019
10020
  '86134132':{'en': 'Foshan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4f5b\u5c71\u5e02')},
10020
10021
  '86134133':{'en': 'Maoming, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u8302\u540d\u5e02')},
10021
- '861341340':{'en': 'Shantou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
10022
10022
  }
@@ -19,6 +19,7 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '861341340':{'en': 'Shantou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
22
23
  '861341341':{'en': 'Shantou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
23
24
  '861341342':{'en': 'Shantou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
24
25
  '861341343':{'en': 'Shantou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '861365935':{'en': 'Wuwei, Gansu', 'zh': u('\u7518\u8083\u7701\u6b66\u5a01\u5e02')},
10019
10020
  '861365936':{'en': 'Jiuquan, Gansu', 'zh': u('\u7518\u8083\u7701\u9152\u6cc9\u5e02')},
10020
10021
  '861365937':{'en': 'Jiuquan, Gansu', 'zh': u('\u7518\u8083\u7701\u9152\u6cc9\u5e02')},
10021
- '861365938':{'en': 'Tianshui, Gansu', 'zh': u('\u7518\u8083\u7701\u5929\u6c34\u5e02')},
10022
10022
  }
@@ -19,6 +19,7 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '861365938':{'en': 'Tianshui, Gansu', 'zh': u('\u7518\u8083\u7701\u5929\u6c34\u5e02')},
22
23
  '861365939':{'en': 'Longnan, Gansu', 'zh': u('\u7518\u8083\u7701\u9647\u5357\u5e02')},
23
24
  '86136594':{'en': 'Lanzhou, Gansu', 'zh': u('\u7518\u8083\u7701\u5170\u5dde\u5e02')},
24
25
  '861365950':{'en': 'Lhasa, Tibet', 'zh': u('\u897f\u85cf\u62c9\u8428\u5e02')},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '861396651':{'en': 'Bozhou, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u4eb3\u5dde\u5e02')},
10019
10020
  '861396652':{'en': 'Bozhou, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u4eb3\u5dde\u5e02')},
10020
10021
  '861396653':{'en': 'Bozhou, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u4eb3\u5dde\u5e02')},
10021
- '861396660':{'en': 'Anqing, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u5b89\u5e86\u5e02')},
10022
10022
  }
@@ -19,6 +19,7 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '861396660':{'en': 'Anqing, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u5b89\u5e86\u5e02')},
22
23
  '861396661':{'en': 'Anqing, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u5b89\u5e86\u5e02')},
23
24
  '861396662':{'en': 'Anqing, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u5b89\u5e86\u5e02')},
24
25
  '861396663':{'en': 'Anqing, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u5b89\u5e86\u5e02')},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '861508220':{'en': 'Leshan, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u4e50\u5c71\u5e02')},
10019
10020
  '861508221':{'en': 'Leshan, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u4e50\u5c71\u5e02')},
10020
10021
  '861508222':{'en': 'Leshan, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u4e50\u5c71\u5e02')},
10021
- '861508223':{'en': 'Leshan, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u4e50\u5c71\u5e02')},
10022
10022
  }
@@ -19,6 +19,7 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '861508223':{'en': 'Leshan, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u4e50\u5c71\u5e02')},
22
23
  '861508224':{'en': 'Leshan, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u4e50\u5c71\u5e02')},
23
24
  '861508225':{'en': 'Liangshan, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u51c9\u5c71\u5f5d\u65cf\u81ea\u6cbb\u5dde')},
24
25
  '861508226':{'en': 'Liangshan, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u51c9\u5c71\u5f5d\u65cf\u81ea\u6cbb\u5dde')},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '861534518':{'en': 'Nanjing, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5357\u4eac\u5e02')},
10019
10020
  '861534519':{'en': 'Changzhou, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5e38\u5dde\u5e02')},
10020
10021
  '861534520':{'en': 'HuaiAn, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u6dee\u5b89\u5e02')},
10021
- '861534521':{'en': 'HuaiAn, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u6dee\u5b89\u5e02')},
10022
10022
  }
@@ -19,6 +19,7 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '861534521':{'en': 'HuaiAn, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u6dee\u5b89\u5e02')},
22
23
  '861534522':{'en': 'Taizhou, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u6cf0\u5dde\u5e02')},
23
24
  '861534523':{'en': 'Taizhou, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u6cf0\u5dde\u5e02')},
24
25
  '861534524':{'en': 'Suzhou, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u82cf\u5dde\u5e02')},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '861568535':{'en': 'Anshun, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u5b89\u987a\u5e02')},
10019
10020
  '861568536':{'en': 'Anshun, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u5b89\u987a\u5e02')},
10020
10021
  '861568537':{'en': 'Anshun, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u5b89\u987a\u5e02')},
10021
- '861568538':{'en': 'Anshun, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u5b89\u987a\u5e02')},
10022
10022
  }
@@ -19,6 +19,7 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '861568538':{'en': 'Anshun, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u5b89\u987a\u5e02')},
22
23
  '861568539':{'en': 'Anshun, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u5b89\u987a\u5e02')},
23
24
  '861568540':{'en': 'Qiannan, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u9ed4\u5357\u5e03\u4f9d\u65cf\u82d7\u65cf\u81ea\u6cbb\u5dde')},
24
25
  '861568541':{'en': 'Guiyang, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u8d35\u9633\u5e02')},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '861596038':{'en': 'Xiamen, Fujian', 'zh': u('\u798f\u5efa\u7701\u53a6\u95e8\u5e02')},
10019
10020
  '861596039':{'en': 'Xiamen, Fujian', 'zh': u('\u798f\u5efa\u7701\u53a6\u95e8\u5e02')},
10020
10021
  '861596040':{'en': 'Quanzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
10021
- '861596041':{'en': 'Quanzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
10022
10022
  }
@@ -19,6 +19,7 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '861596041':{'en': 'Quanzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
22
23
  '861596042':{'en': 'Quanzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
23
24
  '861596043':{'en': 'Quanzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
24
25
  '861596044':{'en': 'Quanzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '861787697':{'en': 'Zhanjiang, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6e5b\u6c5f\u5e02')},
10019
10020
  '861787698':{'en': 'Dongguan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4e1c\u839e\u5e02')},
10020
10021
  '861787699':{'en': 'Shenzhen, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
10021
- '86178770':{'en': 'Nanning, Guangxi', 'zh': u('\u5e7f\u897f\u5357\u5b81\u5e02')},
10022
10022
  }
@@ -19,6 +19,7 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '86178770':{'en': 'Nanning, Guangxi', 'zh': u('\u5e7f\u897f\u5357\u5b81\u5e02')},
22
23
  '861787705':{'en': 'Yulin, Guangxi', 'zh': u('\u5e7f\u897f\u7389\u6797\u5e02')},
23
24
  '861787706':{'en': 'Yulin, Guangxi', 'zh': u('\u5e7f\u897f\u7389\u6797\u5e02')},
24
25
  '861787708':{'en': 'Hechi, Guangxi', 'zh': u('\u5e7f\u897f\u6cb3\u6c60\u5e02')},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '861820949':{'en': 'Longnan, Gansu', 'zh': u('\u7518\u8083\u7701\u9647\u5357\u5e02')},
10019
10020
  '861820950':{'en': 'Yinchuan, Ningxia', 'zh': u('\u5b81\u590f\u94f6\u5ddd\u5e02')},
10020
10021
  '861820951':{'en': 'Yinchuan, Ningxia', 'zh': u('\u5b81\u590f\u94f6\u5ddd\u5e02')},
10021
- '861820952':{'en': 'Shizuishan, Ningxia', 'zh': u('\u5b81\u590f\u77f3\u5634\u5c71\u5e02')},
10022
10022
  }
@@ -19,6 +19,7 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '861820952':{'en': 'Shizuishan, Ningxia', 'zh': u('\u5b81\u590f\u77f3\u5634\u5c71\u5e02')},
22
23
  '861820953':{'en': 'Wuzhong, Ningxia', 'zh': u('\u5b81\u590f\u5434\u5fe0\u5e02')},
23
24
  '861820954':{'en': 'Guyuan, Ningxia', 'zh': u('\u5b81\u590f\u56fa\u539f\u5e02')},
24
25
  '861820955':{'en': 'Zhongwei, Ningxia', 'zh': u('\u5b81\u590f\u4e2d\u536b\u5e02')},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '861856867':{'en': 'Kaifeng, Henan', 'zh': u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
10019
10020
  '861856868':{'en': 'Kaifeng, Henan', 'zh': u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
10020
10021
  '861856869':{'en': 'Xinyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u4fe1\u9633\u5e02')},
10021
- '86185687':{'en': 'Nanyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u5357\u9633\u5e02')},
10022
10022
  }
@@ -19,6 +19,7 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '86185687':{'en': 'Nanyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u5357\u9633\u5e02')},
22
23
  '861856870':{'en': 'Xinxiang, Henan', 'zh': u('\u6cb3\u5357\u7701\u65b0\u4e61\u5e02')},
23
24
  '861856871':{'en': 'Xinxiang, Henan', 'zh': u('\u6cb3\u5357\u7701\u65b0\u4e61\u5e02')},
24
25
  '861856872':{'en': 'Xinxiang, Henan', 'zh': u('\u6cb3\u5357\u7701\u65b0\u4e61\u5e02')},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '86188379':{'en': 'Luoyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u6d1b\u9633\u5e02')},
10019
10020
  '86188380':{'en': 'Zhengzhou, Henan', 'zh': u('\u6cb3\u5357\u7701\u90d1\u5dde\u5e02')},
10020
10021
  '86188381':{'en': 'Zhengzhou, Henan', 'zh': u('\u6cb3\u5357\u7701\u90d1\u5dde\u5e02')},
10021
- '86188382':{'en': 'Zhengzhou, Henan', 'zh': u('\u6cb3\u5357\u7701\u90d1\u5dde\u5e02')},
10022
10022
  }
@@ -19,6 +19,7 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '86188382':{'en': 'Zhengzhou, Henan', 'zh': u('\u6cb3\u5357\u7701\u90d1\u5dde\u5e02')},
22
23
  '86188383':{'en': 'Zhoukou, Henan', 'zh': u('\u6cb3\u5357\u7701\u5468\u53e3\u5e02')},
23
24
  '861883840':{'en': 'Anyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u5b89\u9633\u5e02')},
24
25
  '861883841':{'en': 'Luohe, Henan', 'zh': u('\u6cb3\u5357\u7701\u6f2f\u6cb3\u5e02')},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '9171813':{'en': 'Lakhandur, Maharashtra'},
10019
10020
  '9171814':{'en': 'Lakhandur, Maharashtra'},
10020
10021
  '9171815':{'en': 'Lakhandur, Maharashtra'},
10021
- '9171816':{'en': 'Lakhandur, Maharashtra'},
10022
10022
  }
@@ -19,6 +19,7 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '9171816':{'en': 'Lakhandur, Maharashtra'},
22
23
  '9171817':{'en': 'Lakhandur, Maharashtra'},
23
24
  '9171822':{'en': 'Gondia, Maharashtra'},
24
25
  '9171823':{'en': 'Gondia, Maharashtra'},
@@ -2,8 +2,10 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_PY = PhoneMetadata(id='PY', country_code=None, international_prefix=None,
5
- general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d\\d', possible_length=(3,)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='[159]\\d\\d(?:\\d{4})?', possible_length=(3, 7)),
6
6
  toll_free=PhoneNumberDesc(national_number_pattern='128|911', example_number='128', possible_length=(3,)),
7
7
  emergency=PhoneNumberDesc(national_number_pattern='128|911', example_number='128', possible_length=(3,)),
8
- short_code=PhoneNumberDesc(national_number_pattern='1[1-9]\\d|911', example_number='110', possible_length=(3,)),
8
+ short_code=PhoneNumberDesc(national_number_pattern='(?:1[01]|51)\\d{5}|911|1[1-9]\\d', example_number='110', possible_length=(3, 7)),
9
+ carrier_specific=PhoneNumberDesc(national_number_pattern='(?:1[01]|51)\\d{5}', example_number='1000000', possible_length=(7,)),
10
+ sms_services=PhoneNumberDesc(national_number_pattern='(?:1[01]|51)\\d{5}', example_number='1000000', possible_length=(7,)),
9
11
  short_data=True)
@@ -3,9 +3,9 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_RO = PhoneMetadata(id='RO', country_code=None, international_prefix=None,
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[18]\\d{2,5}', possible_length=(3, 4, 5, 6)),
6
- toll_free=PhoneNumberDesc(national_number_pattern='11(?:2|6\\d{3})', example_number='112', possible_length=(3, 6)),
6
+ toll_free=PhoneNumberDesc(national_number_pattern='11(?:[23]|6\\d{3})', example_number='112', possible_length=(3, 6)),
7
7
  premium_rate=PhoneNumberDesc(national_number_pattern='(?:1(?:18[39]|[24])|8[48])\\d\\d', example_number='1200', possible_length=(4, 6)),
8
8
  emergency=PhoneNumberDesc(national_number_pattern='112', example_number='112', possible_length=(3,)),
9
- short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:2|6(?:000|1(?:11|23))|8(?:(?:01|8[18])1|119|[23]00|932))|[24]\\d\\d|9(?:0(?:00|19)|1[19]|21|3[02]|5[178]))|8[48]\\d\\d', example_number='112', possible_length=(3, 4, 5, 6)),
10
- sms_services=PhoneNumberDesc(national_number_pattern='(?:1[24]|8[48])\\d\\d', example_number='1200', possible_length=(4,)),
9
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:[23]|6(?:000|1(?:11|23))|8(?:(?:01|8[18])1|119|[23]00|932))|[24]\\d\\d|9(?:0(?:00|19)|1[19]|21|3[02]|5[178]))|8[48]\\d\\d', example_number='112', possible_length=(3, 4, 5, 6)),
10
+ sms_services=PhoneNumberDesc(national_number_pattern='113|(?:1[24]|8[48])\\d\\d', example_number='113', possible_length=(3, 4)),
11
11
  short_data=True)
@@ -2883,7 +2883,10 @@ data = {
2883
2883
  '61734976':('Australia/Brisbane',),
2884
2884
  '617350':('Australia/Brisbane',),
2885
2885
  '617353':('Australia/Brisbane',),
2886
- '617354':('Australia/Brisbane',),
2886
+ '6173540':('Australia/Brisbane',),
2887
+ '6173546':('Australia/Brisbane',),
2888
+ '6173547':('Australia/Brisbane',),
2889
+ '6173548':('Australia/Brisbane',),
2887
2890
  '617355':('Australia/Brisbane',),
2888
2891
  '61735678':('Australia/Brisbane',),
2889
2892
  '617360':('Australia/Brisbane',),
@@ -2998,6 +3001,7 @@ data = {
2998
3001
  '6185129':('Australia/Adelaide', 'Australia/Perth'),
2999
3002
  '618513':('Australia/Sydney',),
3000
3003
  '618514':('Australia/Sydney',),
3004
+ '61855':('Australia/Adelaide', 'Australia/Perth'),
3001
3005
  '6186':('Australia/Adelaide', 'Australia/Perth'),
3002
3006
  '6187':('Australia/Adelaide', 'Australia/Perth'),
3003
3007
  '6188':('Australia/Adelaide', 'Australia/Perth'),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: phonenumbers
3
- Version: 9.0.16
3
+ Version: 9.0.18
4
4
  Summary: Python version of Google's common library for parsing, formatting, storing and validating international phone numbers.
5
5
  Home-page: https://github.com/daviddrysdale/python-phonenumbers
6
6
  Author: David Drysdale