phonenumbers 9.0.20__py2.py3-none-any.whl → 9.0.21__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 (52) hide show
  1. phonenumbers/__init__.py +1 -1
  2. phonenumbers/carrierdata/data0.py +25 -25
  3. phonenumbers/carrierdata/data1.py +12 -12
  4. phonenumbers/carrierdata/data2.py +22 -14
  5. phonenumbers/data/alt_format_91.py +1 -1
  6. phonenumbers/data/region_CL.py +2 -2
  7. phonenumbers/data/region_EE.py +1 -1
  8. phonenumbers/data/region_ET.py +1 -1
  9. phonenumbers/data/region_GE.py +1 -1
  10. phonenumbers/data/region_GY.py +1 -1
  11. phonenumbers/data/region_HK.py +1 -1
  12. phonenumbers/data/region_IN.py +7 -7
  13. phonenumbers/data/region_KR.py +1 -1
  14. phonenumbers/data/region_MG.py +1 -1
  15. phonenumbers/data/region_SG.py +1 -1
  16. phonenumbers/data/region_SV.py +1 -1
  17. phonenumbers/data/region_US.py +2 -2
  18. phonenumbers/geodata/data0.py +1 -1
  19. phonenumbers/geodata/data1.py +1 -1
  20. phonenumbers/geodata/data10.py +128 -128
  21. phonenumbers/geodata/data11.py +128 -128
  22. phonenumbers/geodata/data12.py +128 -128
  23. phonenumbers/geodata/data13.py +128 -128
  24. phonenumbers/geodata/data14.py +128 -128
  25. phonenumbers/geodata/data15.py +128 -128
  26. phonenumbers/geodata/data16.py +128 -128
  27. phonenumbers/geodata/data17.py +128 -128
  28. phonenumbers/geodata/data18.py +128 -128
  29. phonenumbers/geodata/data19.py +128 -128
  30. phonenumbers/geodata/data2.py +1 -1
  31. phonenumbers/geodata/data20.py +128 -128
  32. phonenumbers/geodata/data21.py +128 -128
  33. phonenumbers/geodata/data22.py +128 -128
  34. phonenumbers/geodata/data23.py +128 -128
  35. phonenumbers/geodata/data24.py +128 -128
  36. phonenumbers/geodata/data25.py +128 -128
  37. phonenumbers/geodata/data26.py +128 -128
  38. phonenumbers/geodata/data27.py +128 -128
  39. phonenumbers/geodata/data28.py +128 -0
  40. phonenumbers/geodata/data3.py +130 -130
  41. phonenumbers/geodata/data4.py +128 -128
  42. phonenumbers/geodata/data5.py +128 -128
  43. phonenumbers/geodata/data6.py +128 -128
  44. phonenumbers/geodata/data7.py +128 -128
  45. phonenumbers/geodata/data8.py +128 -128
  46. phonenumbers/geodata/data9.py +128 -128
  47. phonenumbers/tzdata/data0.py +1 -0
  48. {phonenumbers-9.0.20.dist-info → phonenumbers-9.0.21.dist-info}/METADATA +5 -16
  49. {phonenumbers-9.0.20.dist-info → phonenumbers-9.0.21.dist-info}/RECORD +52 -52
  50. {phonenumbers-9.0.20.dist-info → phonenumbers-9.0.21.dist-info}/WHEEL +0 -0
  51. {phonenumbers-9.0.20.dist-info → phonenumbers-9.0.21.dist-info}/licenses/LICENSE +0 -0
  52. {phonenumbers-9.0.20.dist-info → phonenumbers-9.0.21.dist-info}/top_level.txt +0 -0
phonenumbers/__init__.py CHANGED
@@ -146,7 +146,7 @@ from .phonenumbermatcher import PhoneNumberMatch, PhoneNumberMatcher, Leniency
146
146
 
147
147
  # Version number is taken from the upstream libphonenumber version
148
148
  # together with an indication of the version of the Python-specific code.
149
- __version__ = "9.0.20"
149
+ __version__ = "9.0.21"
150
150
 
151
151
  __all__ = ['PhoneNumber', 'CountryCodeSource', 'FrozenPhoneNumber',
152
152
  'REGION_CODE_FOR_NON_GEO_ENTITY', 'NumberFormat', 'PhoneNumberDesc', 'PhoneMetadata',
@@ -1381,6 +1381,7 @@ data = {
1381
1381
  '26132':{'en': 'Orange'},
1382
1382
  '26133':{'en': 'Airtel'},
1383
1383
  '26134':{'en': 'Yas'},
1384
+ '26135':{'en': 'Airtel'},
1384
1385
  '26136':{'en': 'Yas'},
1385
1386
  '26137':{'en': 'Orange'},
1386
1387
  '26138':{'en': 'Yas'},
@@ -2408,6 +2409,7 @@ data = {
2408
2409
  '346214':{'en': 'Republica Movil'},
2409
2410
  '346215':{'en': 'Aire Networks'},
2410
2411
  '346216':{'en': 'Republica Movil'},
2412
+ '346218':{'en': 'Vodafone'},
2411
2413
  '34622':{'en': 'Yoigo'},
2412
2414
  '346230':{'en': 'Yoigo'},
2413
2415
  '346231':{'en': 'Yoigo'},
@@ -2897,17 +2899,13 @@ data = {
2897
2899
  '36313330':{'en': 'Vidanet'},
2898
2900
  '36313331':{'en': 'Vidanet'},
2899
2901
  '36313666':{'en': 'One'},
2900
- '36317000':{'en': 'TARR'},
2901
- '36317001':{'en': 'TARR'},
2902
- '36317002':{'en': 'TARR'},
2903
- '36317003':{'en': 'TARR'},
2904
- '36317004':{'en': 'TARR'},
2905
- '3631770':{'en': 'UPC'},
2906
- '3631771':{'en': 'UPC'},
2907
- '363178':{'en': 'UPC'},
2908
- '3631790':{'en': 'UPC'},
2909
- '36501':{'en': 'DIGI'},
2910
- '36502':{'en': 'DIGI'},
2902
+ '3631700':{'en': 'One'},
2903
+ '3631770':{'en': 'One'},
2904
+ '3631771':{'en': 'One'},
2905
+ '363178':{'en': 'One'},
2906
+ '3631790':{'en': 'One'},
2907
+ '36501':{'en': 'One'},
2908
+ '36502':{'en': 'One'},
2911
2909
  '36508':{'en': 'MVM Net'},
2912
2910
  '36509':{'en': 'MVM Net'},
2913
2911
  '3670':{'en': 'One'},
@@ -3909,6 +3907,7 @@ data = {
3909
3907
  '436770':{'en': 'T-Mobile AT'},
3910
3908
  '436771':{'en': 'T-Mobile AT'},
3911
3909
  '436772':{'en': 'T-Mobile AT'},
3910
+ '436776':{'en': 'T-Mobile AT'},
3912
3911
  '436778':{'en': 'T-Mobile AT'},
3913
3912
  '436779':{'en': 'T-Mobile AT'},
3914
3913
  '4368181':{'en': 'A1 TA'},
@@ -6496,6 +6495,7 @@ data = {
6496
6495
  '48450':{'en': 'Play'},
6497
6496
  '48454':{'en': 'Orange'},
6498
6497
  '48456':{'en': 'Play'},
6498
+ '48457':{'en': 'Play'},
6499
6499
  '484590':{'en': 'Play'},
6500
6500
  '4845910':{'en': 'Play'},
6501
6501
  '4845911':{'en': 'Play'},
@@ -6833,7 +6833,13 @@ data = {
6833
6833
  '50161':{'en': 'Belize Telemedia Ltd (Digi)'},
6834
6834
  '50162':{'en': 'Belize Telemedia Ltd (Digi)'},
6835
6835
  '50163':{'en': 'Belize Telemedia Ltd (Digi)'},
6836
- '50165':{'en': 'Speednet (Smart)'},
6836
+ '501650':{'en': 'Speednet (Smart)'},
6837
+ '501651':{'en': 'Speednet (Smart)'},
6838
+ '501652':{'en': 'Speednet (Smart)'},
6839
+ '501653':{'en': 'Speednet (Smart)'},
6840
+ '501654':{'en': 'Speednet (Smart)'},
6841
+ '501655':{'en': 'Speednet (Smart)'},
6842
+ '501656':{'en': 'Belize Telemedia Ltd (Digi)'},
6837
6843
  '50166':{'en': 'Speednet (Smart)'},
6838
6844
  '50167':{'en': 'Speednet (Smart)'},
6839
6845
  '50230':{'en': 'Tigo'},
@@ -6960,8 +6966,13 @@ data = {
6960
6966
  '5025919':{'en': 'Tigo'},
6961
6967
  '502599':{'en': 'Tigo'},
6962
6968
  '5028':{'en': 'Tigo'},
6963
- '50350':{'en': 'Claro'},
6964
- '50351':{'en': 'Tigo'},
6969
+ '5035':{'en': 'Digicel'},
6970
+ '5035000':{'en': 'Claro'},
6971
+ '5035001':{'en': 'Claro'},
6972
+ '5035002':{'en': 'Claro'},
6973
+ '5035003':{'en': 'Claro'},
6974
+ '5035004':{'en': 'Claro'},
6975
+ '5035100':{'en': 'Tigo'},
6965
6976
  '503600':{'en': 'Tigo'},
6966
6977
  '503601':{'en': 'Tigo'},
6967
6978
  '503602':{'en': 'Tigo'},
@@ -10008,15 +10019,4 @@ data = {
10008
10019
  '553199793':{'en': 'Telemig Celular'},
10009
10020
  '553199794':{'en': 'Telemig Celular'},
10010
10021
  '553199795':{'en': 'Telemig Celular'},
10011
- '553199796':{'en': 'Telemig Celular'},
10012
- '553199797':{'en': 'Telemig Celular'},
10013
- '553199798':{'en': 'Telemig Celular'},
10014
- '553199799':{'en': 'Telemig Celular'},
10015
- '5531998':{'en': 'Telemig Celular'},
10016
- '553199800':{'en': 'TIM'},
10017
- '553199810':{'en': 'TIM'},
10018
- '553199820':{'en': 'TIM'},
10019
- '553199830':{'en': 'TIM'},
10020
- '553199840':{'en': 'TIM'},
10021
- '553199850':{'en': 'TIM'},
10022
10022
  }
@@ -19,6 +19,17 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '553199796':{'en': 'Telemig Celular'},
23
+ '553199797':{'en': 'Telemig Celular'},
24
+ '553199798':{'en': 'Telemig Celular'},
25
+ '553199799':{'en': 'Telemig Celular'},
26
+ '5531998':{'en': 'Telemig Celular'},
27
+ '553199800':{'en': 'TIM'},
28
+ '553199810':{'en': 'TIM'},
29
+ '553199820':{'en': 'TIM'},
30
+ '553199830':{'en': 'TIM'},
31
+ '553199840':{'en': 'TIM'},
32
+ '553199850':{'en': 'TIM'},
22
33
  '553199860':{'en': 'TIM'},
23
34
  '553199870':{'en': 'TIM'},
24
35
  '553199880':{'en': 'TIM'},
@@ -9373,6 +9384,7 @@ data = {
9373
9384
  '5675298':{'en': 'Vtr Banda Ancha (Chile) S.A.'},
9374
9385
  '569100':{'en': 'WOM'},
9375
9386
  '569101':{'en': 'Pacifico Cable S.P.A.'},
9387
+ '569102':{'en': 'Pacifico Cable S.P.A.'},
9376
9388
  '56930':{'en': 'WOM'},
9377
9389
  '569304':{'en': 'Claro'},
9378
9390
  '569310':{'en': 'WOM'},
@@ -10007,16 +10019,4 @@ data = {
10007
10019
  '573104':{'en': 'Claro'},
10008
10020
  '573105':{'en': 'Claro'},
10009
10021
  '573106':{'en': 'Claro'},
10010
- '573107':{'en': 'Claro'},
10011
- '573108':{'en': 'Claro'},
10012
- '5731091':{'en': 'Claro'},
10013
- '5731092':{'en': 'Claro'},
10014
- '5731093':{'en': 'Claro'},
10015
- '57310990':{'en': 'Claro'},
10016
- '57310991':{'en': 'Claro'},
10017
- '573112':{'en': 'Claro'},
10018
- '573113':{'en': 'Claro'},
10019
- '573114':{'en': 'Claro'},
10020
- '573115':{'en': 'Claro'},
10021
- '573116':{'en': 'Claro'},
10022
10022
  }
@@ -19,6 +19,18 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '573107':{'en': 'Claro'},
23
+ '573108':{'en': 'Claro'},
24
+ '5731091':{'en': 'Claro'},
25
+ '5731092':{'en': 'Claro'},
26
+ '5731093':{'en': 'Claro'},
27
+ '57310990':{'en': 'Claro'},
28
+ '57310991':{'en': 'Claro'},
29
+ '573112':{'en': 'Claro'},
30
+ '573113':{'en': 'Claro'},
31
+ '573114':{'en': 'Claro'},
32
+ '573115':{'en': 'Claro'},
33
+ '573116':{'en': 'Claro'},
22
34
  '573117':{'en': 'Claro'},
23
35
  '573118':{'en': 'Claro'},
24
36
  '573122':{'en': 'Claro'},
@@ -1456,7 +1468,11 @@ data = {
1456
1468
  '658987':{'en': 'Simba'},
1457
1469
  '658988':{'en': 'Simba'},
1458
1470
  '658989':{'en': 'Simba'},
1459
- '65899':{'en': 'SingTel'},
1471
+ '658990':{'en': 'SingTel'},
1472
+ '658991':{'en': 'M1'},
1473
+ '658992':{'en': 'Simba'},
1474
+ '658993':{'en': 'Simba'},
1475
+ '658994':{'en': 'Simba'},
1460
1476
  '659001':{'en': 'StarHub'},
1461
1477
  '659002':{'en': 'StarHub'},
1462
1478
  '659003':{'en': 'StarHub'},
@@ -3896,8 +3912,8 @@ data = {
3896
3912
  '8524662':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')},
3897
3913
  '8524663':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')},
3898
3914
  '8524664':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')},
3899
- '8524665':{'en': 'China Telecom Global Limited', 'zh': u('\u4e2d\u56fd\u7535\u4fe1\u56fd\u9645\u6709\u9650\u516c\u53f8')},
3900
- '8524666':{'en': 'China Telecom Global Limited', 'zh': u('\u4e2d\u56fd\u7535\u4fe1\u56fd\u9645\u6709\u9650\u516c\u53f8')},
3915
+ '8524665':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')},
3916
+ '8524666':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')},
3901
3917
  '852467':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')},
3902
3918
  '8524678':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')},
3903
3919
  '8524679':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')},
@@ -3911,11 +3927,8 @@ data = {
3911
3927
  '8524727':{'en': 'Hutchison Telecom', 'zh': u('\u548c\u8a18\u96fb\u8a71\u6709\u9650\u516c\u53f8')},
3912
3928
  '8524728':{'en': 'Hutchison Telecom', 'zh': u('\u548c\u8a18\u96fb\u8a71\u6709\u9650\u516c\u53f8')},
3913
3929
  '8524729':{'en': 'Hutchison Telecom', 'zh': u('\u548c\u8a18\u96fb\u8a71\u6709\u9650\u516c\u53f8')},
3930
+ '852473':{'en': 'SmarTone', 'zh': u('\u6570\u7801\u901a')},
3914
3931
  '8524730':{'en': 'Hutchison Telecom', 'zh': u('\u548c\u8a18\u96fb\u8a71\u6709\u9650\u516c\u53f8')},
3915
- '8524731':{'en': 'SmarTone', 'zh': u('\u6570\u7801\u901a')},
3916
- '8524732':{'en': 'SmarTone', 'zh': u('\u6570\u7801\u901a')},
3917
- '8524733':{'en': 'SmarTone', 'zh': u('\u6570\u7801\u901a')},
3918
- '8524734':{'en': 'SmarTone', 'zh': u('\u6570\u7801\u901a')},
3919
3932
  '8524740':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')},
3920
3933
  '8524741':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')},
3921
3934
  '8524742':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')},
@@ -3948,6 +3961,7 @@ data = {
3948
3961
  '8525238':{'en': 'SmarTone', 'zh': u('\u6570\u7801\u901a'), 'zh_Hant': u('\u6578\u78bc\u901a')},
3949
3962
  '8525239':{'en': 'SmarTone', 'zh': u('\u6570\u7801\u901a'), 'zh_Hant': u('\u6578\u78bc\u901a')},
3950
3963
  '852524':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf'), 'zh_Hant': u('\u9999\u6e2f\u79fb\u52d5\u901a\u8a0a')},
3964
+ '852525':{'en': 'SmarTone', 'zh': u('\u6570\u7801\u901a')},
3951
3965
  '852526':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8'), 'zh_Hant': u('\u4e2d\u570b\u79fb\u52d5')},
3952
3966
  '852527':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf'), 'zh_Hant': u('\u9999\u6e2f\u79fb\u52d5\u901a\u8a0a')},
3953
3967
  '8525280':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf'), 'zh_Hant': 'Truphone'},
@@ -4249,13 +4263,7 @@ data = {
4249
4263
  '852956':{'en': 'China Unicom', 'zh': u('\u4e2d\u56fd\u8054\u901a'), 'zh_Hant': u('\u4e2d\u570b\u806f\u901a')},
4250
4264
  '852957':{'en': '3', 'zh': '3', 'zh_Hant': '3'},
4251
4265
  '852958':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8'), 'zh_Hant': u('\u4e2d\u570b\u79fb\u52d5')},
4252
- '8529590':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')},
4253
- '8529591':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')},
4254
- '8529592':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')},
4255
- '8529593':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')},
4256
- '8529594':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')},
4257
- '8529596':{'en': 'China Telecom Global Limited', 'zh': u('\u4e2d\u56fd\u7535\u4fe1\u56fd\u9645\u6709\u9650\u516c\u53f8')},
4258
- '8529597':{'en': 'China Telecom Global Limited', 'zh': u('\u4e2d\u56fd\u7535\u4fe1\u56fd\u9645\u6709\u9650\u516c\u53f8')},
4266
+ '852959':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')},
4259
4267
  '852960':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8'), 'zh_Hant': u('\u4e2d\u570b\u79fb\u52d5')},
4260
4268
  '852961':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf'), 'zh_Hant': u('\u9999\u6e2f\u79fb\u52d5\u901a\u8a0a')},
4261
4269
  '852962':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf'), 'zh_Hant': u('\u9999\u6e2f\u79fb\u52d5\u901a\u8a0a')},
@@ -1,4 +1,4 @@
1
1
  """Auto-generated file, do not edit by hand. 91 metadata"""
2
2
  from ..phonemetadata import NumberFormat
3
3
 
4
- PHONE_ALT_FORMAT_91 = [NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{6})', format='\\1 \\2 \\3', leading_digits_pattern=['6(?:[09]|2(?:[02-7]|8[0-35-9])|5[02-689]|6[024-9]|8[124-9])|7(?:[07]|3[025-9]|4[0-35689]|6(?:[02-9]|1[0-257-9])|8[0-79]|9(?:[089]|31))|8(?:0(?:[01589]|6[67])|1[0-57-9]|2[235-9]|3[03-57-9]|[45]|6[02457-9]|7[1-69]|8(?:[0-25-9]|4[0147-9])|9(?:[02-9]|1[0-27-9]))|9|[67]1[013-9]|(?:67|72)[0235-9]|(?:63|75)[02-46-9]|6(?:29|35)[0-46-9]|(?:64|(?:79|80)7)[02-9]|(?:6(?:[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|88))[0189]|(?:612|7(?:2[14]|3[134]|4[47]|5[15])|8(?:16|2[014]|3[126]|6[136]|7[078]|83))[017-9]']), NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4 \\5', leading_digits_pattern=['6(?:[09]|2(?:[02-7]|8[0-35-9])|5[02-689]|6[024-9]|8[124-9])|7(?:[07]|3[025-9]|4[0-35689]|6(?:[02-9]|1[0-257-9])|8[0-79]|9(?:[089]|31))|8(?:0(?:[01589]|6[67])|1[0-57-9]|2[235-9]|3[03-57-9]|[45]|6[02457-9]|7[1-69]|8(?:[0-25-9]|4[0147-9])|9(?:[02-9]|1[0-27-9]))|9|[67]1[013-9]|(?:67|72)[0235-9]|(?:63|75)[02-46-9]|6(?:29|35)[0-46-9]|(?:64|(?:79|80)7)[02-9]|(?:6(?:[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|88))[0189]|(?:612|7(?:2[14]|3[134]|4[47]|5[15])|8(?:16|2[014]|3[126]|6[136]|7[078]|83))[017-9]']), NumberFormat(pattern='(\\d{2})(\\d{4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['79(?:[089]|31|7[02-9])|80(?:[01589]|6[67]|7[02-9])']), NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['7(?:1[013-9]|2[0235-9]|3[025-9]|4[0-35689]|5[02-46-9]|6(?:[02-9]|1[0-257-9])|7|8[0-79])|8(?:1[0-57-9]|2[235-9]|3[03-57-9]|[45]|6[02457-9]|7[1-69]|8(?:[0-25-9]|4[0147-9])|9(?:[02-9]|1[0-27-9]))|7(?:12|88)[0189]|(?:7(?:2[14]|3[134]|4[47]|5[15])|8(?:16|2[014]|3[126]|6[136]|7[078]|83))[017-9]']), NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['7(?:1(?:[013-9]|2[0189])|2[0235-9]|3[025-9]|4[0-35689]|5[02-46-9]|6(?:[02-9]|1[0-257-9])|7)|80(?:[01589]|6[67]|7[02-9])|7(?:2[14]|3[134]|4[47]|5[15])[017-9]'])]
4
+ PHONE_ALT_FORMAT_91 = [NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{6})', format='\\1 \\2 \\3', leading_digits_pattern=['160[01]|6(?:[09]|2(?:[02-7]|8[0-35-9])|5[02-689]|6[024-9]|8[124-9])|7(?:[07]|3[025-9]|4[0-35689]|6(?:[02-9]|1[0-257-9])|8[0-79]|9(?:[089]|31))|8(?:0(?:[01589]|6[67])|1[0-57-9]|2[235-9]|3[03-57-9]|[45]|6[02457-9]|7[1-69]|8(?:[0-25-9]|4[0147-9])|9(?:[02-9]|1[0-27-9]))|9|[67]1[013-9]|(?:67|72)[0235-9]|(?:63|75)[02-46-9]|6(?:29|35)[0-46-9]|(?:64|(?:79|80)7)[02-9]|(?:6(?:[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|88))[0189]|(?:612|7(?:2[14]|3[134]|4[47]|5[15])|8(?:16|2[014]|3[126]|6[136]|7[078]|83))[017-9]']), NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4 \\5', leading_digits_pattern=['160[01]|6(?:[09]|2(?:[02-7]|8[0-35-9])|5[02-689]|6[024-9]|8[124-9])|7(?:[07]|3[025-9]|4[0-35689]|6(?:[02-9]|1[0-257-9])|8[0-79]|9(?:[089]|31))|8(?:0(?:[01589]|6[67])|1[0-57-9]|2[235-9]|3[03-57-9]|[45]|6[02457-9]|7[1-69]|8(?:[0-25-9]|4[0147-9])|9(?:[02-9]|1[0-27-9]))|9|[67]1[013-9]|(?:67|72)[0235-9]|(?:63|75)[02-46-9]|6(?:29|35)[0-46-9]|(?:64|(?:79|80)7)[02-9]|(?:6(?:[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|88))[0189]|(?:612|7(?:2[14]|3[134]|4[47]|5[15])|8(?:16|2[014]|3[126]|6[136]|7[078]|83))[017-9]']), NumberFormat(pattern='(\\d{2})(\\d{4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['79(?:[089]|31|7[02-9])|80(?:[01589]|6[67]|7[02-9])']), NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['7(?:1[013-9]|2[0235-9]|3[025-9]|4[0-35689]|5[02-46-9]|6(?:[02-9]|1[0-257-9])|7|8[0-79])|8(?:1[0-57-9]|2[235-9]|3[03-57-9]|[45]|6[02457-9]|7[1-69]|8(?:[0-25-9]|4[0147-9])|9(?:[02-9]|1[0-27-9]))|7(?:12|88)[0189]|(?:7(?:2[14]|3[134]|4[47]|5[15])|8(?:16|2[014]|3[126]|6[136]|7[078]|83))[017-9]']), NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['7(?:1(?:[013-9]|2[0189])|2[0235-9]|3[025-9]|4[0-35689]|5[02-46-9]|6(?:[02-9]|1[0-257-9])|7)|80(?:[01589]|6[67]|7[02-9])|7(?:2[14]|3[134]|4[47]|5[15])[017-9]'])]
@@ -3,8 +3,8 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_CL = PhoneMetadata(id='CL', country_code=56, international_prefix='(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}', possible_length=(9, 10, 11)),
6
- fixed_line=PhoneNumberDesc(national_number_pattern='2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|2\\d{3}|3(?:(?:2\\d|50)\\d|3(?:[03467]\\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-389]|9[0-8])|600)|646[59])|(?:(?:3[2-5]|[47][1-35]|5[1-3578])\\d|6(?:00|[13-57]\\d)|8(?:0[1-9]|[1-9]\\d))\\d\\d|9(?:(?:10[01]|(?:[2458]\\d|7[1-9])\\d)\\d|3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}', example_number='600123456', possible_length=(9,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|2\\d{3}|3(?:(?:2\\d|50)\\d|3(?:[03467]\\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-389]|9[0-8])|600)|646[59])|(?:(?:3[2-5]|[47][1-35]|5[1-3578]|6[13-57])\\d|8(?:0[1-8]|[1-9]\\d))\\d\\d|9(?:(?:10[01]|(?:[2458]\\d|7[1-9])\\d)\\d|3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}', example_number='221234567', possible_length=(9,)),
6
+ fixed_line=PhoneNumberDesc(national_number_pattern='2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:(?:2\\d|50)\\d|3(?:[034679]\\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-389])|600)|646[59])|(?:600|80[1-9])\\d\\d|9(?:(?:10[0-2]|7[1-9]\\d)\\d|3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}', example_number='600123456', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:(?:2\\d|50)\\d|3(?:[034679]\\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-389])|600)|646[59])|80[1-8]\\d\\d|9(?:(?:10[0-2]|7[1-9]\\d)\\d|3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}', example_number='221234567', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='(?:123|8)00\\d{6}', example_number='800123456', possible_length=(9, 11)),
9
9
  shared_cost=PhoneNumberDesc(national_number_pattern='600\\d{7,8}', example_number='6001234567', possible_length=(10, 11)),
10
10
  voip=PhoneNumberDesc(national_number_pattern='44\\d{7}', example_number='441234567', possible_length=(9,)),
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_EE = PhoneMetadata(id='EE', country_code=372, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}', possible_length=(7, 8, 10)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:3[23589]|4[3-8]|6\\d|7[1-9]|88)\\d{5}', example_number='3212345', possible_length=(7,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:5\\d{5}|8(?:1(?:0(?:0(?:00|[178]\\d)|[3-9]\\d\\d)|(?:1(?:0[2-6]|1\\d)|(?:2[0-59]|[3-79]\\d)\\d)\\d)|2(?:0(?:0(?:00|4\\d)|(?:19|[2-7]\\d)\\d)|(?:(?:[124-69]\\d|3[5-9])\\d|7(?:[0-79]\\d|8[013-9])|8(?:[2-6]\\d|7[01]))\\d)|[349]\\d{4}))\\d\\d|5(?:(?:[02]\\d|5[0-478])\\d|1(?:[0-8]\\d|95)|6(?:4[0-4]|5[1-589]))\\d{3}', example_number='51234567', possible_length=(7, 8)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:5\\d{5}|8(?:1(?:0(?:0(?:00|[178]\\d)|[3-9]\\d\\d)|(?:1(?:0[2-6]|1\\d)|[2-79]\\d\\d)\\d)|2(?:0(?:0(?:00|4\\d)|(?:19|[2-7]\\d)\\d)|(?:(?:[124-69]\\d|3[5-9])\\d|7(?:[0-79]\\d|8[013-9])|8(?:[2-6]\\d|7[01]))\\d)|[349]\\d{4}))\\d\\d|5(?:(?:[02]\\d|5[0-478])\\d|1(?:[0-8]\\d|95)|6(?:4[0-4]|5[1-589]))\\d{3}', example_number='51234567', possible_length=(7, 8)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='800(?:(?:0\\d\\d|1)\\d|[2-9])\\d{3}', example_number='80012345', possible_length=(7, 8, 10)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='(?:40\\d\\d|900)\\d{4}', example_number='9001234', possible_length=(7, 8)),
10
10
  personal_number=PhoneNumberDesc(national_number_pattern='70[0-2]\\d{5}', example_number='70012345', possible_length=(8,)),
@@ -3,7 +3,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_ET = PhoneMetadata(id='ET', country_code=251, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:11|[2-579]\\d)\\d{7}', possible_length=(9,), possible_length_local_only=(7,)),
6
- fixed_line=PhoneNumberDesc(national_number_pattern='11667[01]\\d{3}|(?:11(?:1(?:1[1-468]|2[2-7]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-3]|6[5-8]|7\\d)|5(?:1[578]|44|5[0-4])|6(?:1[578]|2[69]|39|4[5-7]|5[0-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|(?:22|55)[0-6]|33[0134689]|44[04]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:119|22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:(?:11|22)[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}', example_number='111112345', possible_length=(9,), possible_length_local_only=(7,)),
6
+ fixed_line=PhoneNumberDesc(national_number_pattern='(?:11(?:[124]\\d\\d|3(?:[0-79]\\d|8[0-7])|5(?:[02-9]\\d|1[0-57-9])|6(?:[02-79]\\d|1[0-57-9]|8[0-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|(?:22|55)[0-6]|33[0134689]|44[04]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:119|22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:(?:11|22)[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}', example_number='111112345', possible_length=(9,), possible_length_local_only=(7,)),
7
7
  mobile=PhoneNumberDesc(national_number_pattern='700[1-9]\\d{5}|(?:7(?:0[1-9]|1[0-8]|2[1-35-79]|3\\d|77|86|99)|9\\d\\d)\\d{6}', example_number='911234567', possible_length=(9,)),
8
8
  national_prefix='0',
9
9
  national_prefix_for_parsing='0',
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_GE = PhoneMetadata(id='GE', country_code=995, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:[3-57]\\d\\d|800)\\d{6}', possible_length=(9,), possible_length_local_only=(6, 7)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:3(?:[256]\\d|4[124-9]|7[0-4])|4(?:1\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\d{6}', example_number='322123456', possible_length=(9,), possible_length_local_only=(6, 7)),
7
- mobile=PhoneNumberDesc(national_number_pattern='5(?:(?:(?:0555|1(?:[17]77|555))[5-9]|757(?:7[7-9]|8[01]))\\d|22252[0-4])\\d\\d|5(?:0(?:0(?:1[09]|70)|505)|1(?:0[01]0|1(?:07|33|51))|2(?:0[02]0|2[25]2)|3(?:0[03]0|3[35]3)|(?:40[04]|900)0|5222)[0-4]\\d{3}|(?:5(?:0(?:0(?:0\\d|1[12]|22|3[0-6]|44|5[05]|77|88|9[09])|(?:[14]\\d|77)\\d|22[02])|1(?:1(?:[03][01]|[124]\\d|5[2-6]|7[0-4])|4\\d\\d)|[23]555|4(?:4\\d\\d|555)|5(?:[0157-9]\\d\\d|200|333|444)|6[89]\\d\\d|7(?:(?:[0147-9]\\d|22)\\d|5(?:00|[57]5))|8(?:0(?:[018]\\d|2[0-4])|5(?:55|8[89])|8(?:55|88))|9(?:090|[1-35-9]\\d\\d))|790\\d\\d)\\d{4}', example_number='555123456', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='5(?:(?:(?:0555|1(?:[17]77|555))[5-9]|757(?:7[7-9]|8[01]))\\d|22252[0-4])\\d\\d|5(?:0(?:0(?:1[09]|70)|505)|1(?:0[01]0|1(?:07|33|51))|2(?:0[02]0|2[25]2)|3(?:0[03]0|3[35]3)|(?:40[04]|900)0|5222)[0-4]\\d{3}|(?:5(?:0(?:0(?:0\\d|1[12]|22|3[0-6]|44|5[05]|77|88|9[09])|(?:[14]\\d|77)\\d|22[02])|1(?:1(?:[03][01]|[124]\\d|5[2-6]|7[0-6])|4\\d\\d)|[23]555|4(?:4\\d\\d|555)|5(?:[0157-9]\\d\\d|200|333|444)|6[89]\\d\\d|7(?:(?:[0147-9]\\d|22)\\d|5(?:00|[57]5))|8(?:0(?:[018]\\d|2[0-4])|5(?:55|8[89])|8(?:55|88))|9(?:090|[1-35-9]\\d\\d))|790\\d\\d)\\d{4}', example_number='555123456', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='800\\d{6}', example_number='800123456', possible_length=(9,)),
9
9
  voip=PhoneNumberDesc(national_number_pattern='70[67]\\d{6}', example_number='706123456', possible_length=(9,)),
10
10
  no_international_dialling=PhoneNumberDesc(national_number_pattern='70[67]\\d{6}', possible_length=(9,)),
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_GY = PhoneMetadata(id='GY', country_code=592, international_prefix='001',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:[2-8]\\d{3}|9008)\\d{3}', possible_length=(7,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:2(?:1[6-9]|2[0-35-9]|3[1-4]|5[3-9]|6\\d|7[0-79])|3(?:2[25-9]|3\\d)|4(?:4[0-24]|5[56])|50[0-6]|77[1-57])\\d{4}', example_number='2201234', possible_length=(7,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:51[01]|6\\d\\d|7(?:[0-5]\\d|6[0-49]|70))\\d{4}', example_number='6091234', possible_length=(7,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:51[01]|6\\d\\d|7(?:[0-5]\\d|6[0-59]|70))\\d{4}', example_number='6091234', possible_length=(7,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='(?:289|8(?:00|6[28]|88|99))\\d{4}', example_number='2891234', possible_length=(7,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='9008\\d{3}', example_number='9008123', possible_length=(7,)),
10
10
  voip=PhoneNumberDesc(national_number_pattern='515\\d{4}', example_number='5151234', possible_length=(7,)),
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_HK = PhoneMetadata(id='HK', country_code=852, international_prefix='00(?:30|5[09]|[126-9]?)',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}', possible_length=(5, 6, 7, 8, 9, 11)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:2(?:[13-9]\\d|2[013-9])\\d|3(?:(?:[1569][0-24-9]|4[0-246-9]|7[0-24-69])\\d|8(?:4[0-8]|[579]\\d|6[0-5]))|58(?:0[1-9]|1[2-9]))\\d{4}', example_number='21234567', possible_length=(8,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:4(?:44[0-35-9]|6(?:4[0-57-9]|6[0-6])|7(?:3[0-4]|4[0-48]|6[0-5]))|5(?:35[4-8]|73[0-6]|95[0-8])|6(?:26[013-8]|(?:66|78)[0-5])|70(?:7[1-8]|8[0-8])|84(?:4[0-2]|8[0-35-9])|9(?:29[013-9]|39[014-9]|59[0-467]|899))\\d{4}|(?:4(?:4[0-35-9]|6[0-357-9]|7[0-25])|5(?:[1-59][0-46-9]|6[0-4689]|7[0-246-9])|6(?:0[1-9]|[13-59]\\d|[268][0-57-9]|7[0-79])|70[1-59]|84[0-39]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\d))\\d{5}', example_number='51234567', possible_length=(8,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:4(?:44[0-35-9]|6(?:4[0-57-9]|6[0-6])|7(?:4[0-48]|6[0-5]))|5(?:25[3-7]|35[4-8]|73[0-6]|95[0-8])|6(?:26[013-8]|(?:66|78)[0-5])|70(?:7[1-8]|8[0-8])|84(?:4[0-2]|8[0-35-9])|9(?:29[013-9]|39[014-9]|59[0-467]|899))\\d{4}|(?:4(?:4[0-35-9]|6[0-357-9]|7[0-35])|5(?:[1-59][0-46-9]|6[0-4689]|7[0-246-9])|6(?:0[1-9]|[13-59]\\d|[268][0-57-9]|7[0-79])|70[1-59]|84[0-39]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\d))\\d{5}', example_number='51234567', possible_length=(8,)),
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='900(?:[0-24-9]\\d{7}|3\\d{1,4})', example_number='90012345678', possible_length=(5, 6, 7, 8, 11)),
10
10
  personal_number=PhoneNumberDesc(national_number_pattern='8(?:1[0-4679]\\d|2(?:[0-36]\\d|7[0-4])|3(?:[034]\\d|2[09]|70))\\d{4}', example_number='81123456', possible_length=(8,)),
@@ -4,12 +4,12 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_IN = PhoneMetadata(id='IN', country_code=91, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}', possible_length=(8, 9, 10, 11, 12, 13), possible_length_local_only=(6, 7)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:2717(?:[2-7]\\d|95)|6828[235-7]\\d)\\d{4}|(?:170[24]|280[13468]|4(?:20[24]|72[2-8])|552[1-7])\\d{6}|(?:271[0-689]|682[0-79]|782[0-6])[2-7]\\d{5}|(?:2(?:[02][2-79]|90)|3(?:23|80)|683|79[1-7])\\d{7}|(?:11|33|4[04]|80)[2-7]\\d{7}|(?:342|674|788)(?:[0189][2-7]|[2-7]\\d)\\d{5}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[13]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[014-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\d{6}|(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[3-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1245]|4[5-8]|5[125689]|6[235-7]|7[157-9]|8[2-46-8])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[14-6])|7(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|8[013-7]|9[089])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d[2-7]\\d{5}', example_number='7410410123', possible_length=(10,), possible_length_local_only=(6, 7, 8)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:6(?:1279|828[01489])|7(?:887[02-9]|9(?:313|79[07-9]))|8(?:079[04-9]|(?:84|91)7[02-8]))\\d{5}|(?:6(?:12|[2-47]1|5[17]|6[13]|80)[0189]|7(?:1(?:2[0189]|9[0-5])|2(?:[14][017-9]|8[0-59])|3(?:2[5-8]|[34][017-9]|9[016-9])|4(?:1[015-9]|[29][89]|39|8[389])|5(?:[15][017-9]|2[04-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589])|70[0289]|88[089]|97[02-8])|8(?:0(?:6[67]|7[02-8])|70[017-9]|84[01489]|91[0-289]))\\d{6}|(?:7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[0189]\\d|7[02-8])\\d{5}|(?:6(?:[09]\\d|1[04679]|2[03689]|3[05-9]|4[0489]|50|6[069]|7[07]|8[7-9])|7(?:0\\d|2[0235-79]|3[05-8]|40|5[0346-8]|6[6-9]|7[1-9]|8[0-79]|9[089])|8(?:0[01589]|1[0-57-9]|2[235-9]|3[03-57-9]|[45]\\d|6[02457-9]|7[1-69]|8[0-25-9]|9[02-9])|9\\d\\d)\\d{7}|(?:6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578])\\d|7(?:[235689]\\d|4[0189])|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-5])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]|881))[0189]\\d{5}', example_number='8123456789', possible_length=(10,)),
8
- toll_free=PhoneNumberDesc(national_number_pattern='000800\\d{7}|1(?:600\\d{6}|80(?:0\\d{4,9}|3\\d{9}))', example_number='1800123456', possible_length=(8, 9, 10, 11, 12, 13)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:6(?:1279|828[01489])|7(?:887[02-9]|9(?:313|79[07-9]))|8(?:079[04-9]|(?:84|91)7[02-8]))\\d{5}|(?:160[01]|6(?:12|[2-47]1|5[17]|6[13]|80)[0189]|7(?:1(?:2[0189]|9[0-5])|2(?:[14][017-9]|8[0-59])|3(?:2[5-8]|[34][017-9]|9[016-9])|4(?:1[015-9]|[29][89]|39|8[389])|5(?:[15][017-9]|2[04-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589])|70[0289]|88[089]|97[02-8])|8(?:0(?:6[67]|7[02-8])|70[017-9]|84[01489]|91[0-289]))\\d{6}|(?:7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[0189]\\d|7[02-8])\\d{5}|(?:6(?:[09]\\d|1[04679]|2[03689]|3[05-9]|4[0489]|50|6[069]|7[07]|8[7-9])|7(?:0\\d|2[0235-79]|3[05-8]|40|5[0346-8]|6[6-9]|7[1-9]|8[0-79]|9[089])|8(?:0[01589]|1[0-57-9]|2[235-9]|3[03-57-9]|[45]\\d|6[02457-9]|7[1-69]|8[0-25-9]|9[02-9])|9\\d\\d)\\d{7}|(?:6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578])\\d|7(?:[235689]\\d|4[0189])|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-5])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]|881))[0189]\\d{5}', example_number='8123456789', possible_length=(10,)),
8
+ toll_free=PhoneNumberDesc(national_number_pattern='000800\\d{7}|180(?:0\\d{4,9}|3\\d{9})', example_number='1800123456', possible_length=(8, 9, 10, 11, 12, 13)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='186[12]\\d{9}', example_number='1861123456789', possible_length=(13,)),
10
10
  shared_cost=PhoneNumberDesc(national_number_pattern='1860\\d{7}', example_number='18603451234', possible_length=(11,)),
11
11
  uan=PhoneNumberDesc(national_number_pattern='140\\d{7}', example_number='1409305260', possible_length=(10,)),
12
- no_international_dialling=PhoneNumberDesc(national_number_pattern='1(?:600\\d{6}|800\\d{4,9})|(?:000800|18(?:03\\d\\d|6(?:0|[12]\\d\\d)))\\d{7}', possible_length=(8, 9, 10, 11, 12, 13)),
12
+ no_international_dialling=PhoneNumberDesc(national_number_pattern='1800\\d{4,9}|(?:000800|18(?:03\\d\\d|6(?:0|[12]\\d\\d)))\\d{7}', possible_length=(8, 9, 10, 11, 12, 13)),
13
13
  national_prefix='0',
14
14
  national_prefix_for_parsing='0',
15
15
  number_format=[NumberFormat(pattern='(\\d{7})', format='\\1', leading_digits_pattern=['575']),
@@ -19,8 +19,8 @@ PHONE_METADATA_IN = PhoneMetadata(id='IN', country_code=91, international_prefix
19
19
  NumberFormat(pattern='(\\d{2})(\\d{4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['11|2[02]|33|4[04]|79[1-7]|80[2-46]', '11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])', '11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
20
20
  NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]', '1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]', '1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
21
21
  NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807', '1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]', '1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|8(?:28[235-7]|3))|73179|807(?:1|9[1-3])|(?:1552|6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689])\\d|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
22
- NumberFormat(pattern='(\\d{5})(\\d{5})', format='\\1 \\2', leading_digits_pattern=['[6-9]'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
23
- NumberFormat(pattern='(\\d{4})(\\d{2,4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['1(?:6|8[06])', '1(?:6|8[06]0)'], national_prefix_optional_when_formatting=True),
22
+ NumberFormat(pattern='(\\d{5})(\\d{5})', format='\\1 \\2', leading_digits_pattern=['16|[6-9]'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
23
+ NumberFormat(pattern='(\\d{4})(\\d{2,4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['18[06]', '18[06]0'], national_prefix_optional_when_formatting=True),
24
24
  NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['0']),
25
25
  NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{3})(\\d{3})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['18'], national_prefix_optional_when_formatting=True)],
26
26
  intl_number_format=[NumberFormat(pattern='(\\d{8})', format='\\1', leading_digits_pattern=['5(?:0|2[23]|3[03]|[67]1|88)', '5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)', '5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)']),
@@ -29,7 +29,7 @@ PHONE_METADATA_IN = PhoneMetadata(id='IN', country_code=91, international_prefix
29
29
  NumberFormat(pattern='(\\d{2})(\\d{4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['11|2[02]|33|4[04]|79[1-7]|80[2-46]', '11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])', '11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])']),
30
30
  NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]', '1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]', '1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]']),
31
31
  NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807', '1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]', '1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|8(?:28[235-7]|3))|73179|807(?:1|9[1-3])|(?:1552|6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689])\\d|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]']),
32
- NumberFormat(pattern='(\\d{5})(\\d{5})', format='\\1 \\2', leading_digits_pattern=['[6-9]']),
33
- NumberFormat(pattern='(\\d{4})(\\d{2,4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['1(?:6|8[06])', '1(?:6|8[06]0)']),
32
+ NumberFormat(pattern='(\\d{5})(\\d{5})', format='\\1 \\2', leading_digits_pattern=['16|[6-9]']),
33
+ NumberFormat(pattern='(\\d{4})(\\d{2,4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['18[06]', '18[06]0']),
34
34
  NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{3})(\\d{3})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['18'])],
35
35
  mobile_number_portable_region=True)
@@ -10,7 +10,7 @@ PHONE_METADATA_KR = PhoneMetadata(id='KR', country_code=82, international_prefix
10
10
  personal_number=PhoneNumberDesc(national_number_pattern='50\\d{8,9}', example_number='5012345678', possible_length=(10, 11)),
11
11
  voip=PhoneNumberDesc(national_number_pattern='70\\d{8}', example_number='7012345678', possible_length=(10,)),
12
12
  pager=PhoneNumberDesc(national_number_pattern='15\\d{7,8}', example_number='1523456789', possible_length=(9, 10)),
13
- uan=PhoneNumberDesc(national_number_pattern='1(?:5(?:22|33|44|66|77|88|99)|6(?:[07]0|44|6[0168]|88)|8(?:00|33|55|77|99))\\d{4}', example_number='15441234', possible_length=(8,)),
13
+ uan=PhoneNumberDesc(national_number_pattern='1(?:5(?:22|33|44|5[15]|66|77|88|99)|6(?:[07]0|44|6[0168]|88)|8(?:00|11|33|44|55|66|77|99))\\d{4}', example_number='15441234', possible_length=(8,)),
14
14
  no_international_dialling=PhoneNumberDesc(national_number_pattern='00(?:3(?:08\\d{6,7}|68\\d{7})|798\\d{7,9})', possible_length=(11, 12, 13, 14)),
15
15
  national_prefix='0',
16
16
  national_prefix_for_parsing='0(8(?:[1-46-8]|5\\d\\d))?',
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_MG = PhoneMetadata(id='MG', country_code=261, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[23]\\d{8}', possible_length=(9,), possible_length_local_only=(7,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='2072[29]\\d{4}|20(?:2\\d|4[47]|5[3467]|6[279]|7[356]|8[268]|9[2457])\\d{5}', example_number='202123456', possible_length=(9,), possible_length_local_only=(7,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='3[2-46-9]\\d{7}', example_number='321234567', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='3[2-9]\\d{7}', example_number='321234567', possible_length=(9,)),
8
8
  voip=PhoneNumberDesc(national_number_pattern='22\\d{7}', example_number='221234567', possible_length=(9,)),
9
9
  national_prefix='0',
10
10
  national_prefix_for_parsing='([24-9]\\d{6})$|0',
@@ -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='89(?:8[02-9]|90)\\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='89(?:8[02-9]|9[0-4])\\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_SV = PhoneMetadata(id='SV', country_code=503, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[25-7]\\d{7}|(?: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='(?:5(?:00[0-4]|100)|[67]\\d{3})\\d{4}', example_number='70123456', possible_length=(8,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='[5-7]\\d{7}', 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]']),
@@ -3,8 +3,8 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_US = PhoneMetadata(id='US', country_code=1, international_prefix='011',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[2-9]\\d{9}|3\\d{6}', possible_length=(10,), possible_length_local_only=(7,)),
6
- fixed_line=PhoneNumberDesc(national_number_pattern='3052(?:0[0-8]|[1-9]\\d)\\d{4}|(?:2742|305[3-9])\\d{6}|(?:472|983)[2-47-9]\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}', example_number='2015550123', possible_length=(10,), possible_length_local_only=(7,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='3052(?:0[0-8]|[1-9]\\d)\\d{4}|(?:2742|305[3-9])\\d{6}|(?:472|983)[2-47-9]\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}', example_number='2015550123', possible_length=(10,), possible_length_local_only=(7,)),
6
+ fixed_line=PhoneNumberDesc(national_number_pattern='3052(?:0[0-8]|[1-9]\\d)\\d{4}|(?:2742|305[3-9])\\d{6}|(?:472|983)[2-47-9]\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-3]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}', example_number='2015550123', possible_length=(10,), possible_length_local_only=(7,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='3052(?:0[0-8]|[1-9]\\d)\\d{4}|(?:2742|305[3-9])\\d{6}|(?:472|983)[2-47-9]\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-3]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}', example_number='2015550123', possible_length=(10,), possible_length_local_only=(7,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', example_number='8002345678', possible_length=(10,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', example_number='9002345678', possible_length=(10,)),
10
10
  personal_number=PhoneNumberDesc(national_number_pattern='52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}', example_number='5002345678', possible_length=(10,)),
@@ -7812,6 +7812,7 @@ data = {
7812
7812
  '1352872':{'en': 'Gainesville, FL'},
7813
7813
  '1352873':{'en': 'Ocala, FL'},
7814
7814
  '1352955':{'en': 'Gainesville, FL'},
7815
+ '1353':{'en': 'Wisconsin'},
7815
7816
  '1354':{'en': 'Quebec'},
7816
7817
  '1360':{'en': 'Washington State'},
7817
7818
  '1360210':{'en': 'Camas, WA'},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '1414481':{'en': 'Milwaukee, WI'},
10019
10020
  '1414482':{'en': 'Milwaukee, WI'},
10020
10021
  '1414483':{'en': 'Milwaukee, WI'},
10021
- '1414486':{'en': 'Milwaukee, WI'},
10022
10022
  }
@@ -19,6 +19,7 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '1414486':{'en': 'Milwaukee, WI'},
22
23
  '1414489':{'en': 'Cudahy, WI'},
23
24
  '1414527':{'en': 'Milwaukee, WI'},
24
25
  '1414535':{'en': 'Milwaukee, WI'},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '1705337':{'en': 'Kapuskasing, ON'},
10019
10020
  '1705356':{'en': 'Blind River, ON'},
10020
10021
  '1705357':{'en': 'Sunderland, ON'},
10021
- '1705360':{'en': 'Timmins, ON'},
10022
10022
  }