phonenumbers 8.13.50__py2.py3-none-any.whl → 8.13.51__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 (54) hide show
  1. phonenumbers/__init__.py +1 -1
  2. phonenumbers/carrierdata/data0.py +19 -19
  3. phonenumbers/carrierdata/data1.py +13 -13
  4. phonenumbers/carrierdata/data2.py +28 -15
  5. phonenumbers/data/region_870.py +3 -2
  6. phonenumbers/data/region_CA.py +4 -4
  7. phonenumbers/data/region_GE.py +1 -1
  8. phonenumbers/data/region_GF.py +3 -3
  9. phonenumbers/data/region_GU.py +2 -2
  10. phonenumbers/data/region_HK.py +1 -1
  11. phonenumbers/data/region_HN.py +1 -1
  12. phonenumbers/data/region_MQ.py +3 -3
  13. phonenumbers/data/region_PM.py +1 -1
  14. phonenumbers/data/region_RE.py +3 -3
  15. phonenumbers/data/region_SN.py +1 -1
  16. phonenumbers/data/region_SY.py +4 -4
  17. phonenumbers/data/region_TG.py +1 -1
  18. phonenumbers/data/region_US.py +2 -2
  19. phonenumbers/data/region_YT.py +2 -2
  20. phonenumbers/geodata/data0.py +1 -1
  21. phonenumbers/geodata/data1.py +1 -1
  22. phonenumbers/geodata/data10.py +2 -2
  23. phonenumbers/geodata/data11.py +2 -2
  24. phonenumbers/geodata/data12.py +2 -2
  25. phonenumbers/geodata/data13.py +2 -2
  26. phonenumbers/geodata/data14.py +2 -2
  27. phonenumbers/geodata/data15.py +2 -2
  28. phonenumbers/geodata/data16.py +2 -2
  29. phonenumbers/geodata/data17.py +2 -2
  30. phonenumbers/geodata/data18.py +2 -2
  31. phonenumbers/geodata/data19.py +2 -2
  32. phonenumbers/geodata/data2.py +1 -1
  33. phonenumbers/geodata/data20.py +2 -2
  34. phonenumbers/geodata/data21.py +2 -2
  35. phonenumbers/geodata/data22.py +2 -2
  36. phonenumbers/geodata/data23.py +2 -2
  37. phonenumbers/geodata/data24.py +2 -2
  38. phonenumbers/geodata/data25.py +2 -2
  39. phonenumbers/geodata/data26.py +2 -2
  40. phonenumbers/geodata/data27.py +2 -2
  41. phonenumbers/geodata/data28.py +2 -0
  42. phonenumbers/geodata/data3.py +2 -2
  43. phonenumbers/geodata/data4.py +2 -2
  44. phonenumbers/geodata/data5.py +2 -2
  45. phonenumbers/geodata/data6.py +2 -2
  46. phonenumbers/geodata/data7.py +2 -2
  47. phonenumbers/geodata/data8.py +2 -2
  48. phonenumbers/geodata/data9.py +2 -2
  49. phonenumbers/tzdata/data0.py +7 -45
  50. {phonenumbers-8.13.50.dist-info → phonenumbers-8.13.51.dist-info}/METADATA +1 -1
  51. {phonenumbers-8.13.50.dist-info → phonenumbers-8.13.51.dist-info}/RECORD +54 -54
  52. {phonenumbers-8.13.50.dist-info → phonenumbers-8.13.51.dist-info}/LICENSE +0 -0
  53. {phonenumbers-8.13.50.dist-info → phonenumbers-8.13.51.dist-info}/WHEEL +0 -0
  54. {phonenumbers-8.13.50.dist-info → phonenumbers-8.13.51.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__ = "8.13.50"
149
+ __version__ = "8.13.51"
150
150
 
151
151
  __all__ = ['PhoneNumber', 'CountryCodeSource', 'FrozenPhoneNumber',
152
152
  'REGION_CODE_FOR_NON_GEO_ENTITY', 'NumberFormat', 'PhoneNumberDesc', 'PhoneMetadata',
@@ -175,6 +175,7 @@ data = {
175
175
  '1671480':{'en': 'GTA'},
176
176
  '1671482':{'en': 'GTA'},
177
177
  '1671483':{'en': 'GTA'},
178
+ '1671485':{'en': 'GTA'},
178
179
  '1671486':{'en': 'GTA'},
179
180
  '1671487':{'en': 'GTA'},
180
181
  '1671488':{'en': 'GTA'},
@@ -184,6 +185,7 @@ data = {
184
185
  '167184':{'en': 'i CAN_GSM'},
185
186
  '167185':{'en': 'i CAN_GSM'},
186
187
  '1671864':{'en': 'GTA'},
188
+ '1671867':{'en': 'GTA'},
187
189
  '1671868':{'en': 'Choice Phone'},
188
190
  '167187':{'en': 'Choice Phone'},
189
191
  '167188':{'en': 'Choice Phone'},
@@ -821,7 +823,9 @@ data = {
821
823
  '22171':{'en': 'Orange'},
822
824
  '22172':{'en': 'HAYO'},
823
825
  '22175':{'en': 'Promobile'},
826
+ '2217536':{'en': 'Orange'},
824
827
  '221757':{'en': 'Origines'},
828
+ '2217585':{'en': 'Orange'},
825
829
  '22176':{'en': 'Free'},
826
830
  '22177':{'en': 'Orange'},
827
831
  '22178':{'en': 'Orange'},
@@ -944,6 +948,7 @@ data = {
944
948
  '22799':{'en': 'Airtel'},
945
949
  '22870':{'en': 'Togo Telecom'},
946
950
  '22871':{'en': 'Togo Telecom'},
951
+ '22872':{'en': 'Togo Telecom'},
947
952
  '22879':{'en': 'Moov'},
948
953
  '22890':{'en': 'Togo Telecom'},
949
954
  '22891':{'en': 'Togo Telecom'},
@@ -1490,6 +1495,13 @@ data = {
1490
1495
  '26269394':{'en': 'SFR'},
1491
1496
  '26269397':{'en': 'SFR'},
1492
1497
  '26269399':{'en': 'Orange'},
1498
+ '26270920':{'en': 'SFR'},
1499
+ '26270921':{'en': 'Orange'},
1500
+ '26270922':{'en': 'Telco OI'},
1501
+ '26270923':{'en': 'ZEOP Mobile'},
1502
+ '26270935':{'en': 'SFR'},
1503
+ '26270936':{'en': 'Telco OI'},
1504
+ '26270937':{'en': 'Orange'},
1493
1505
  '26371':{'en': 'Net*One'},
1494
1506
  '26372':{'en': 'Net*One'},
1495
1507
  '26373':{'en': 'Telecel'},
@@ -1600,6 +1612,8 @@ data = {
1600
1612
  '27564920':{'en': 'Vodacom'},
1601
1613
  '27574920':{'en': 'Vodacom'},
1602
1614
  '27584920':{'en': 'Vodacom'},
1615
+ '27601':{'en': 'Telkom Mobile'},
1616
+ '27602':{'en': 'Telkom Mobile'},
1603
1617
  '27603':{'en': 'MTN'},
1604
1618
  '27604':{'en': 'MTN'},
1605
1619
  '27605':{'en': 'MTN'},
@@ -1639,14 +1653,10 @@ data = {
1639
1653
  '27663':{'en': 'Vodacom'},
1640
1654
  '27664':{'en': 'Vodacom'},
1641
1655
  '27665':{'en': 'Vodacom'},
1642
- '27670':{'en': 'Telkom Mobile'},
1643
- '27671':{'en': 'Telkom Mobile'},
1644
- '27672':{'en': 'Telkom Mobile'},
1656
+ '2767':{'en': 'Telkom Mobile'},
1645
1657
  '27673':{'en': 'Vodacom'},
1646
1658
  '27674':{'en': 'Vodacom'},
1647
1659
  '27675':{'en': 'Vodacom'},
1648
- '27676':{'en': 'Telkom Mobile'},
1649
- '27677':{'en': 'Telkom Mobile'},
1650
1660
  '2768':{'en': 'Telkom Mobile'},
1651
1661
  '27686':{'en': 'MTN'},
1652
1662
  '27687':{'en': 'MTN'},
@@ -2383,7 +2393,7 @@ data = {
2383
2393
  '346212':{'en': 'Movistar'},
2384
2394
  '346213':{'en': 'Republica Movil'},
2385
2395
  '346214':{'en': 'Republica Movil'},
2386
- '346215':{'en': 'Republica Movil'},
2396
+ '346215':{'en': 'Aire Networks'},
2387
2397
  '346216':{'en': 'Republica Movil'},
2388
2398
  '34622':{'en': 'Yoigo'},
2389
2399
  '346230':{'en': 'Yoigo'},
@@ -2475,6 +2485,7 @@ data = {
2475
2485
  '3468448':{'en': 'Nethits'},
2476
2486
  '346845':{'en': 'Movistar'},
2477
2487
  '346846':{'en': 'Telecable'},
2488
+ '346848':{'en': 'Euskaltel'},
2478
2489
  '34685':{'en': 'Orange'},
2479
2490
  '3468529':{'en': 'Carrefour'},
2480
2491
  '34686':{'en': 'Movistar'},
@@ -2641,6 +2652,7 @@ data = {
2641
2652
  '351927':{'en': 'MEO'},
2642
2653
  '3519280':{'en': 'NOWO'},
2643
2654
  '3519281':{'en': 'NOWO'},
2655
+ '3519282':{'en': 'Digi Communications'},
2644
2656
  '3519285':{'en': 'ONITELECOM'},
2645
2657
  '3519290':{'en': 'NOS'},
2646
2658
  '3519291':{'en': 'NOS'},
@@ -7624,6 +7636,7 @@ data = {
7624
7636
  '50850':{'en': 'Keyyo'},
7625
7637
  '50855':{'en': 'SPM Telecom'},
7626
7638
  '50856':{'en': 'Kav El International'},
7639
+ '50870856':{'en': 'SPM Telecom'},
7627
7640
  '5093':{'en': 'Digicel'},
7628
7641
  '50932':{'en': 'Natcom'},
7629
7642
  '50933':{'en': 'Natcom'},
@@ -10006,17 +10019,4 @@ data = {
10006
10019
  '552899952':{'en': 'Vivo'},
10007
10020
  '552899953':{'en': 'Vivo'},
10008
10021
  '552899954':{'en': 'Vivo'},
10009
- '552899955':{'en': 'Vivo'},
10010
- '552899956':{'en': 'Vivo'},
10011
- '552899957':{'en': 'Vivo'},
10012
- '552899958':{'en': 'Vivo'},
10013
- '552899959':{'en': 'Vivo'},
10014
- '552899961':{'en': 'Vivo'},
10015
- '552899962':{'en': 'Vivo'},
10016
- '552899963':{'en': 'Vivo'},
10017
- '552899964':{'en': 'Vivo'},
10018
- '552899965':{'en': 'Vivo'},
10019
- '552899966':{'en': 'Vivo'},
10020
- '552899967':{'en': 'Vivo'},
10021
- '552899968':{'en': 'Vivo'},
10022
10022
  }
@@ -19,6 +19,19 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '552899955':{'en': 'Vivo'},
23
+ '552899956':{'en': 'Vivo'},
24
+ '552899957':{'en': 'Vivo'},
25
+ '552899958':{'en': 'Vivo'},
26
+ '552899959':{'en': 'Vivo'},
27
+ '552899961':{'en': 'Vivo'},
28
+ '552899962':{'en': 'Vivo'},
29
+ '552899963':{'en': 'Vivo'},
30
+ '552899964':{'en': 'Vivo'},
31
+ '552899965':{'en': 'Vivo'},
32
+ '552899966':{'en': 'Vivo'},
33
+ '552899967':{'en': 'Vivo'},
34
+ '552899968':{'en': 'Vivo'},
22
35
  '552899969':{'en': 'Vivo'},
23
36
  '552899971':{'en': 'Vivo'},
24
37
  '552899972':{'en': 'Vivo'},
@@ -10006,17 +10019,4 @@ data = {
10006
10019
  '569907':{'en': 'Entel'},
10007
10020
  '569908':{'en': 'Entel'},
10008
10021
  '569909':{'en': 'Entel'},
10009
- '569910':{'en': 'Claro'},
10010
- '569912':{'en': 'Entel'},
10011
- '569913':{'en': 'Entel'},
10012
- '569914':{'en': 'Movistar'},
10013
- '5699140':{'en': 'Entel'},
10014
- '5699141':{'en': 'Entel'},
10015
- '5699142':{'en': 'Entel'},
10016
- '569915':{'en': 'Entel'},
10017
- '569916':{'en': 'Movistar'},
10018
- '569917':{'en': 'Claro'},
10019
- '569918':{'en': 'Movistar'},
10020
- '569919':{'en': 'Movistar'},
10021
- '569920':{'en': 'Claro'},
10022
10022
  }
@@ -19,6 +19,19 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '569910':{'en': 'Claro'},
23
+ '569912':{'en': 'Entel'},
24
+ '569913':{'en': 'Entel'},
25
+ '569914':{'en': 'Movistar'},
26
+ '5699140':{'en': 'Entel'},
27
+ '5699141':{'en': 'Entel'},
28
+ '5699142':{'en': 'Entel'},
29
+ '569915':{'en': 'Entel'},
30
+ '569916':{'en': 'Movistar'},
31
+ '569917':{'en': 'Claro'},
32
+ '569918':{'en': 'Movistar'},
33
+ '569919':{'en': 'Movistar'},
34
+ '569920':{'en': 'Claro'},
22
35
  '569921':{'en': 'Entel'},
23
36
  '569922':{'en': 'Movistar'},
24
37
  '569923':{'en': 'Movistar'},
@@ -655,6 +668,9 @@ data = {
655
668
  '59469446':{'en': 'SFR'},
656
669
  '59469447':{'en': 'SFR'},
657
670
  '5946949':{'en': 'Digicel'},
671
+ '59470930':{'en': 'Free Caraibe'},
672
+ '59470932':{'en': 'Digicel'},
673
+ '59470933':{'en': 'Orange'},
658
674
  '59595':{'en': 'VOX'},
659
675
  '59596':{'en': 'VOX'},
660
676
  '59597':{'en': 'Personal'},
@@ -701,6 +717,9 @@ data = {
701
717
  '5966969':{'en': 'Digicel'},
702
718
  '59669699':{'en': 'Orange'},
703
719
  '59669727':{'en': 'Digicel'},
720
+ '59670910':{'en': u('Free Cara\u00efbe')},
721
+ '59670912':{'en': 'Digicel'},
722
+ '59670913':{'en': 'Orange'},
704
723
  '59771':{'en': 'Digicel'},
705
724
  '59772':{'en': 'Digicel'},
706
725
  '59774':{'en': 'Digicel'},
@@ -3728,11 +3747,7 @@ data = {
3728
3747
  '7999':{'en': 'MegaFon', 'ru': u('\u041c\u0435\u0433\u0430\u0424\u043e\u043d')},
3729
3748
  '81701':{'en': 'Softbank'},
3730
3749
  '817010':{'en': 'NTT Docomo'},
3731
- '817020':{'en': 'KDDI'},
3732
- '817021':{'en': 'KDDI'},
3733
- '817022':{'en': 'KDDI'},
3734
- '817023':{'en': 'KDDI'},
3735
- '817024':{'en': 'KDDI'},
3750
+ '81702':{'en': 'KDDI'},
3736
3751
  '8170250':{'en': 'Softbank'},
3737
3752
  '817026':{'en': 'NTT Docomo'},
3738
3753
  '817027':{'en': 'NTT Docomo'},
@@ -3792,6 +3807,7 @@ data = {
3792
3807
  '817064':{'en': 'Softbank'},
3793
3808
  '817065':{'en': 'Softbank'},
3794
3809
  '817066':{'en': 'Softbank'},
3810
+ '817067':{'en': 'KDDI'},
3795
3811
  '8170680':{'en': 'Softbank'},
3796
3812
  '8170681':{'en': 'Softbank'},
3797
3813
  '8170682':{'en': 'Softbank'},
@@ -3812,15 +3828,7 @@ data = {
3812
3828
  '8170823':{'en': 'NTT Docomo'},
3813
3829
  '817083':{'en': 'Rakuten Communications'},
3814
3830
  '817084':{'en': 'Rakuten Communications'},
3815
- '8170850':{'en': 'Rakuten Communications'},
3816
- '8170851':{'en': 'Rakuten Communications'},
3817
- '8170852':{'en': 'Rakuten Communications'},
3818
- '8170853':{'en': 'Rakuten Communications'},
3819
- '8170854':{'en': 'Rakuten Communications'},
3820
- '8170855':{'en': 'Rakuten Communications'},
3821
- '8170856':{'en': 'Rakuten Communications'},
3822
- '8170857':{'en': 'Rakuten Communications'},
3823
- '8170858':{'en': 'Rakuten Communications'},
3831
+ '817085':{'en': 'Rakuten Communications'},
3824
3832
  '817086':{'en': 'KDDI'},
3825
3833
  '817087':{'en': 'KDDI'},
3826
3834
  '817088':{'en': 'KDDI'},
@@ -4157,6 +4165,7 @@ data = {
4157
4165
  '852470':{'en': 'Hutchison Telecom', 'zh': u('\u548c\u8a18\u96fb\u8a71\u6709\u9650\u516c\u53f8')},
4158
4166
  '852474':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')},
4159
4167
  '852475':{'en': 'Hutchison Telecom', 'zh': u('\u548c\u8a18\u96fb\u8a71\u6709\u9650\u516c\u53f8')},
4168
+ '852476':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')},
4160
4169
  '852510':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8'), 'zh_Hant': u('\u4e2d\u570b\u79fb\u52d5')},
4161
4170
  '852511':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf'), 'zh_Hant': u('\u65b0\u79fb\u52d5\u901a\u8a0a')},
4162
4171
  '852512':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8'), 'zh_Hant': u('\u4e2d\u570b\u79fb\u52d5')},
@@ -4444,7 +4453,9 @@ data = {
4444
4453
  '852936':{'en': '3', 'zh': '3', 'zh_Hant': '3'},
4445
4454
  '852937':{'en': '3', 'zh': '3', 'zh_Hant': '3'},
4446
4455
  '852938':{'en': 'SmarTone', 'zh': u('\u6570\u7801\u901a'), 'zh_Hant': u('\u6578\u78bc\u901a')},
4447
- '852939':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')},
4456
+ '852939':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')},
4457
+ '8529390':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')},
4458
+ '8529391':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')},
4448
4459
  '852940':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf'), 'zh_Hant': u('\u9999\u6e2f\u79fb\u52d5\u901a\u8a0a')},
4449
4460
  '852941':{'en': '3', 'zh': '3', 'zh_Hant': '3'},
4450
4461
  '852942':{'en': '3', 'zh': '3', 'zh_Hant': '3'},
@@ -8471,6 +8482,7 @@ data = {
8471
8482
  '96277':{'en': 'Orange'},
8472
8483
  '96278':{'en': 'Umniah'},
8473
8484
  '96279':{'en': 'Zain JO'},
8485
+ '96350':{'en': 'Rcell'},
8474
8486
  '96391':{'en': 'Wafa Telecom'},
8475
8487
  '96392':{'en': 'Wafa Telecom'},
8476
8488
  '96393':{'en': 'Syriatel'},
@@ -8824,6 +8836,7 @@ data = {
8824
8836
  '99550099':{'en': 'Silknet'},
8825
8837
  '995501':{'en': 'Cellfie'},
8826
8838
  '995502':{'en': 'Silknet'},
8839
+ '995504':{'en': 'Cellfie'},
8827
8840
  '9955050':{'en': 'Silknet'},
8828
8841
  '9955055':{'en': 'MagtiCom'},
8829
8842
  '995507':{'en': 'Globalcell'},
@@ -2,6 +2,7 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_870 = PhoneMetadata(id='001', country_code=870, international_prefix=None,
5
- general_desc=PhoneNumberDesc(national_number_pattern='7\\d{11}|[35-7]\\d{8}', possible_length=(9, 12)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='7\\d{11}|[235-7]\\d{8}', possible_length=(9, 12)),
6
6
  mobile=PhoneNumberDesc(national_number_pattern='(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}', example_number='301234567', possible_length=(9, 12)),
7
- number_format=[NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['[35-7]'])])
7
+ voip=PhoneNumberDesc(national_number_pattern='2\\d{8}', example_number='201234567', possible_length=(9,)),
8
+ number_format=[NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['[235-7]'])])
@@ -2,12 +2,12 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_CA = PhoneMetadata(id='CA', country_code=1, international_prefix='011',
5
- general_desc=PhoneNumberDesc(national_number_pattern='(?:[2-8]\\d|90)\\d{8}|3\\d{6}', possible_length=(7, 10)),
6
- fixed_line=PhoneNumberDesc(national_number_pattern='(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|90[25])[2-9]\\d{6}', example_number='5062345678', possible_length=(10,), possible_length_local_only=(7,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|90[25])[2-9]\\d{6}', example_number='5062345678', possible_length=(10,), possible_length_local_only=(7,)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='[2-9]\\d{9}|3\\d{6}', possible_length=(7, 10)),
6
+ fixed_line=PhoneNumberDesc(national_number_pattern='(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}', example_number='5062345678', possible_length=(10,), possible_length_local_only=(7,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}', example_number='5062345678', 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='8002123456', possible_length=(10,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', example_number='9002123456', possible_length=(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)|622)[2-9]\\d{6}', example_number='5002345678', possible_length=(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)|6(?:22|33))[2-9]\\d{6}', example_number='5002345678', possible_length=(10,)),
11
11
  voip=PhoneNumberDesc(national_number_pattern='600[2-9]\\d{6}', example_number='6002012345', possible_length=(10,)),
12
12
  uan=PhoneNumberDesc(national_number_pattern='310\\d{4}', example_number='3101234', possible_length=(7,)),
13
13
  national_prefix='1',
@@ -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[17]0|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|11|22|3[0-6]|44|5[05]|77|88|9[09])|111|22[02]|77\\d)|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\\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[17]0|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|11|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\\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,)),
@@ -2,13 +2,13 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_GF = PhoneMetadata(id='GF', country_code=594, international_prefix='00',
5
- general_desc=PhoneNumberDesc(national_number_pattern='[56]94\\d{6}|(?:80|9\\d)\\d{7}', possible_length=(9,)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='(?:[56]94\\d|7093)\\d{5}|(?:80|9\\d)\\d{7}', possible_length=(9,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='594(?:[02-49]\\d|1[0-5]|5[6-9]|6[0-3]|80)\\d{4}', example_number='594101234', possible_length=(9,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='694(?:[0-249]\\d|3[0-8])\\d{4}', example_number='694201234', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:694(?:[0-249]\\d|3[0-8])|7093[0-3])\\d{4}', example_number='694201234', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='80[0-5]\\d{6}', example_number='800012345', possible_length=(9,)),
9
9
  voip=PhoneNumberDesc(national_number_pattern='9(?:(?:396|76\\d)\\d|476[0-5])\\d{4}', example_number='976012345', possible_length=(9,)),
10
10
  national_prefix='0',
11
11
  national_prefix_for_parsing='0',
12
- number_format=[NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['[56]|9[47]'], national_prefix_formatting_rule='0\\1'),
12
+ number_format=[NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['[5-7]|9[47]'], national_prefix_formatting_rule='0\\1'),
13
13
  NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['[89]'], national_prefix_formatting_rule='0\\1')],
14
14
  mobile_number_portable_region=True)
@@ -3,8 +3,8 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_GU = PhoneMetadata(id='GU', country_code=1, international_prefix='011',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:[58]\\d\\d|671|900)\\d{7}', possible_length=(10,), possible_length_local_only=(7,)),
6
- fixed_line=PhoneNumberDesc(national_number_pattern='671(?:2\\d\\d|3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-46-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}', example_number='6713001234', possible_length=(10,), possible_length_local_only=(7,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='671(?:2\\d\\d|3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-46-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}', example_number='6713001234', possible_length=(10,), possible_length_local_only=(7,)),
6
+ fixed_line=PhoneNumberDesc(national_number_pattern='671(?:2\\d\\d|3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[478])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}', example_number='6713001234', possible_length=(10,), possible_length_local_only=(7,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='671(?:2\\d\\d|3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[478])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}', example_number='6713001234', 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='8002123456', possible_length=(10,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', example_number='9002123456', 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,)),
@@ -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-2]))|58(?:0[1-9]|1[2-9]))\\d{4}', example_number='21234567', possible_length=(8,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:4(?:44[0-25-9]|6(?:1[0-7]|4[0-57-9]|6[0-4])|74[0-2])|5(?:73[0-6]|95[0-8])|6(?:26[013-8]|66[0-3])|70(?:7[1-8]|8[0-4])|84(?:4[0-2]|8[0-35-9])|9(?:29[013-9]|39[01]|59[0-4]|899))\\d{4}|(?:4(?:4[0-35-9]|6[02357-9]|7[05])|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-49]|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-25-9]|6(?:1[0-7]|4[0-57-9]|6[0-4])|7(?:4[0-2]|6[0-5]))|5(?:73[0-6]|95[0-8])|6(?:26[013-8]|66[0-3])|70(?:7[1-8]|8[0-4])|84(?:4[0-2]|8[0-35-9])|9(?:29[013-9]|39[014-9]|59[0-4]|899))\\d{4}|(?:4(?:4[0-35-9]|6[02357-9]|7[05])|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-49]|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,)),
@@ -3,7 +3,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_HN = PhoneMetadata(id='HN', country_code=504, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='8\\d{10}|[237-9]\\d{7}', possible_length=(8, 11)),
6
- fixed_line=PhoneNumberDesc(national_number_pattern='2(?:2(?:0[0-59]|1[1-9]|[23]\\d|4[02-6]|5[57]|6[245]|7[0135689]|8[01346-9]|9[0-2])|4(?:0[578]|2[3-59]|3[13-9]|4[0-68]|5[1-3589])|5(?:0[2357-9]|1[1-356]|4[03-5]|5\\d|6[014-69]|7[04]|80)|6(?:[056]\\d|17|2[067]|3[047]|4[0-378]|[78][0-8]|9[01])|7(?:0[5-79]|6[46-9]|7[02-9]|8[034]|91)|8(?:79|8[0-357-9]|9[1-57-9]))\\d{4}', example_number='22123456', possible_length=(8,)),
6
+ fixed_line=PhoneNumberDesc(national_number_pattern='2(?:2(?:0[0-59]|1[1-9]|[23]\\d|4[02-7]|5[57]|6[245]|7[0135689]|8[01346-9]|9[0-2])|4(?:0[578]|2[3-59]|3[13-9]|4[0-68]|5[1-3589])|5(?:0[2357-9]|1[1-356]|4[03-5]|5\\d|6[014-69]|7[04]|80)|6(?:[056]\\d|17|2[067]|3[047]|4[0-378]|[78][0-8]|9[01])|7(?:0[5-79]|6[46-9]|7[02-9]|8[034]|91)|8(?:79|8[0-357-9]|9[1-57-9]))\\d{4}', example_number='22123456', possible_length=(8,)),
7
7
  mobile=PhoneNumberDesc(national_number_pattern='[37-9]\\d{7}', example_number='91234567', possible_length=(8,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='8002\\d{7}', example_number='80021234567', possible_length=(11,)),
9
9
  no_international_dialling=PhoneNumberDesc(national_number_pattern='8002\\d{7}', possible_length=(11,)),
@@ -2,14 +2,14 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_MQ = PhoneMetadata(id='MQ', country_code=596, international_prefix='00',
5
- general_desc=PhoneNumberDesc(national_number_pattern='596\\d{6}|(?:69|[89]\\d)\\d{7}', possible_length=(9,)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='(?:596\\d|7091)\\d{5}|(?:69|[89]\\d)\\d{7}', possible_length=(9,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:596(?:[03-7]\\d|1[05]|2[7-9]|8[0-39]|9[04-9])|80[6-9]\\d\\d|9(?:477[6-9]|767[4589]))\\d{4}', example_number='596301234', possible_length=(9,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='69[67]\\d{6}', example_number='696201234', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:69[67]\\d\\d|7091[0-3])\\d{4}', example_number='696201234', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='80[0-5]\\d{6}', example_number='800012345', possible_length=(9,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='8[129]\\d{7}', example_number='810123456', possible_length=(9,)),
10
10
  voip=PhoneNumberDesc(national_number_pattern='9(?:397[0-3]|477[0-5]|76(?:6\\d|7[0-367]))\\d{4}', example_number='976612345', possible_length=(9,)),
11
11
  national_prefix='0',
12
12
  national_prefix_for_parsing='0',
13
- number_format=[NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['[569]|8(?:0[6-9]|[36])'], national_prefix_formatting_rule='0\\1'),
13
+ number_format=[NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['[5-79]|8(?:0[6-9]|[36])'], national_prefix_formatting_rule='0\\1'),
14
14
  NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['8'], national_prefix_formatting_rule='0\\1')],
15
15
  mobile_number_portable_region=True)
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_PM = PhoneMetadata(id='PM', country_code=508, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[45]\\d{5}|(?:708|8\\d\\d)\\d{6}', possible_length=(6, 9)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:4[1-35-9]|5[0-47-9]|80[6-9]\\d\\d)\\d{4}', example_number='430123', possible_length=(6, 9)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:4[02-489]|5[02-9]|708[45][0-5])\\d{4}', example_number='551234', possible_length=(6, 9)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:4[02-489]|5[02-9]|708(?:4[0-5]|5[0-6]))\\d{4}', example_number='551234', possible_length=(6, 9)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='80[0-5]\\d{6}', example_number='800012345', possible_length=(9,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='8[129]\\d{7}', example_number='810123456', possible_length=(9,)),
10
10
  national_prefix='0',
@@ -2,14 +2,14 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_RE = PhoneMetadata(id='RE', country_code=262, international_prefix='00',
5
- general_desc=PhoneNumberDesc(national_number_pattern='(?:26|[689]\\d)\\d{7}', possible_length=(9,)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='709\\d{6}|(?:26|[689]\\d)\\d{7}', possible_length=(9,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='26(?:2\\d\\d|3(?:0\\d|1[0-6]))\\d{4}', example_number='262161234', possible_length=(9,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='69(?:2\\d\\d|3(?:[06][0-6]|1[013]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))\\d{4}', example_number='692123456', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:69(?:2\\d\\d|3(?:[06][0-6]|1[013]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\d{4}', example_number='692123456', possible_length=(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='89[1-37-9]\\d{6}', example_number='891123456', possible_length=(9,)),
10
10
  shared_cost=PhoneNumberDesc(national_number_pattern='8(?:1[019]|2[0156]|84|90)\\d{6}', example_number='810123456', possible_length=(9,)),
11
11
  voip=PhoneNumberDesc(national_number_pattern='9(?:399[0-3]|479[0-5]|76(?:2[278]|3[0-37]))\\d{4}', example_number='939901234', possible_length=(9,)),
12
12
  national_prefix='0',
13
13
  national_prefix_for_parsing='0',
14
- number_format=[NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['[2689]'], national_prefix_formatting_rule='0\\1')],
14
+ number_format=[NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['[26-9]'], national_prefix_formatting_rule='0\\1')],
15
15
  main_country_for_code=True)
@@ -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]|[38]3|[4-7]\\d))\\d{5}', example_number='701234567', 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[36]|[4-7]\\d|8[35]))\\d{5}', 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,10 +2,10 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_SY = PhoneMetadata(id='SY', country_code=963, international_prefix='00',
5
- general_desc=PhoneNumberDesc(national_number_pattern='[1-39]\\d{8}|[1-5]\\d{7}', possible_length=(8, 9), possible_length_local_only=(6, 7)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='[1-359]\\d{8}|[1-5]\\d{7}', possible_length=(8, 9), possible_length_local_only=(6, 7)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='21\\d{6,7}|(?:1(?:[14]\\d|[2356])|2[235]|3(?:[13]\\d|4)|4[134]|5[1-3])\\d{6}', example_number='112345678', possible_length=(8, 9), possible_length_local_only=(6, 7)),
7
- mobile=PhoneNumberDesc(national_number_pattern='9[1-689]\\d{7}', example_number='944567890', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:50|9[1-689])\\d{7}', example_number='944567890', possible_length=(9,)),
8
8
  national_prefix='0',
9
9
  national_prefix_for_parsing='0',
10
- number_format=[NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{3,4})', format='\\1 \\2 \\3', leading_digits_pattern=['[1-5]'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
11
- NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['9'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True)])
10
+ number_format=[NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{3,4})', format='\\1 \\2 \\3', leading_digits_pattern=['[1-4]|5[1-3]'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
11
+ NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['[59]'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True)])
@@ -4,5 +4,5 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_TG = PhoneMetadata(id='TG', country_code=228, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[279]\\d{7}', possible_length=(8,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='2(?:2[2-7]|3[23]|4[45]|55|6[67]|77)\\d{5}', example_number='22212345', possible_length=(8,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:7[019]|9[0-36-9])\\d{6}', example_number='90112345', possible_length=(8,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:7[0-29]|9[0-36-9])\\d{6}', example_number='90112345', possible_length=(8,)),
8
8
  number_format=[NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['[279]'])])
@@ -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)|5056(?:[0-35-9]\\d|4[468])|7302[0-4]\\d)\\d{4}|(?:305[3-9]|472[24]|505[2-57-9]|7306|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[013569]|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-47-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-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|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-389]|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)|5056(?:[0-35-9]\\d|4[468])|7302[0-4]\\d)\\d{4}|(?:305[3-9]|472[24]|505[2-57-9]|7306|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[013569]|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-47-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-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|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-389]|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)|5056(?:[0-35-9]\\d|4[468])|7302[0-4]\\d)\\d{4}|(?:305[3-9]|472[24]|505[2-57-9]|7306|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[0135-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-47-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-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|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-389]|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)|5056(?:[0-35-9]\\d|4[468])|7302[0-4]\\d)\\d{4}|(?:305[3-9]|472[24]|505[2-57-9]|7306|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[0135-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-47-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-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|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-389]|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,)),
@@ -2,9 +2,9 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_YT = PhoneMetadata(id='YT', country_code=262, international_prefix='00',
5
- general_desc=PhoneNumberDesc(national_number_pattern='(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}', possible_length=(9,)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='7093\\d{5}|(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}', possible_length=(9,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='269(?:0[0-467]|15|5[0-4]|6\\d|[78]0)\\d{4}', example_number='269601234', possible_length=(9,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])\\d{4}', example_number='639012345', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}', example_number='639012345', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='80\\d{7}', example_number='801234567', possible_length=(9,)),
9
9
  voip=PhoneNumberDesc(national_number_pattern='9(?:(?:39|47)8[01]|769\\d)\\d{4}', example_number='939801234', possible_length=(9,)),
10
10
  national_prefix='0',
@@ -7002,6 +7002,7 @@ data = {
7002
7002
  '1325947':{'en': 'San Angelo, TX'},
7003
7003
  '1325949':{'en': 'San Angelo, TX'},
7004
7004
  '1326':{'en': 'Ohio'},
7005
+ '1327':{'en': 'Arkansas'},
7005
7006
  '1329':{'en': 'New York'},
7006
7007
  '1330':{'en': 'Ohio'},
7007
7008
  '1330220':{'en': 'Brunswick, OH'},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '1414489':{'en': 'Cudahy, WI'},
10019
10020
  '1414527':{'en': 'Milwaukee, WI'},
10020
10021
  '1414535':{'en': 'Milwaukee, WI'},
10021
- '1414536':{'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
+ '1414536':{'en': 'Milwaukee, WI'},
22
23
  '1414540':{'en': 'Milwaukee, WI'},
23
24
  '1414541':{'en': 'Milwaukee, WI'},
24
25
  '1414543':{'en': 'Milwaukee, WI'},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '1705368':{'en': 'Little Current, ON'},
10019
10020
  '1705375':{'en': 'MacTier, ON'},
10020
10021
  '1705377':{'en': 'Mindemoya, ON'},
10021
- '1705382':{'en': 'Burk\'s Falls, ON'},
10022
10022
  }
@@ -19,6 +19,8 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '61350414':{'en': 'Pooncarie'},
23
+ '61350415':{'en': 'Robinvale'},
22
24
  '61350416':{'en': 'Rufus River'},
23
25
  '61350417':{'en': 'Scotia'},
24
26
  '61350418':{'en': 'Wemen'},
@@ -10017,6 +10019,4 @@ data = {
10017
10019
  '61730389':{'en': 'Samford'},
10018
10020
  '61730396':{'en': 'Ipswich'},
10019
10021
  '61730397':{'en': 'Ipswich'},
10020
- '61730398':{'en': 'Redcliffe'},
10021
- '61730399':{'en': 'Redcliffe'},
10022
10022
  }
@@ -19,6 +19,8 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '61730398':{'en': 'Redcliffe'},
23
+ '61730399':{'en': 'Redcliffe'},
22
24
  '6173040':{'en': 'Brisbane'},
23
25
  '6173041':{'en': 'Brisbane'},
24
26
  '6173042':{'en': 'Cleveland'},
@@ -10017,6 +10019,4 @@ data = {
10017
10019
  '61753009':{'en': 'Kilkivan'},
10018
10020
  '61753010':{'en': 'Pomona'},
10019
10021
  '61753011':{'en': 'Upper Widgee'},
10020
- '61753012':{'en': 'Wolvi'},
10021
- '61753013':{'en': 'Woolooga'},
10022
10022
  }
@@ -19,6 +19,8 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '61753012':{'en': 'Wolvi'},
23
+ '61753013':{'en': 'Woolooga'},
22
24
  '61753014':{'en': 'Cooroy'},
23
25
  '61753015':{'en': 'Kenilworth'},
24
26
  '61753016':{'en': 'Nambour'},
@@ -10017,6 +10019,4 @@ data = {
10017
10019
  '61885907':{'en': 'Penneshaw'},
10018
10020
  '61885908':{'en': 'Karatta'},
10019
10021
  '61885909':{'en': 'Mallala'},
10020
- '61885910':{'en': 'Two Wells'},
10021
- '61885911':{'en': 'Windsor'},
10022
10022
  }
@@ -19,6 +19,8 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '61885910':{'en': 'Two Wells'},
23
+ '61885911':{'en': 'Windsor'},
22
24
  '61885912':{'en': 'Callington'},
23
25
  '61885913':{'en': 'Hartley'},
24
26
  '61885914':{'en': 'Langhorne Creek'},
@@ -10017,6 +10019,4 @@ data = {
10017
10019
  '61899392':{'en': 'Nangetty'},
10018
10020
  '618993928':{'en': 'Ajana'},
10019
10021
  '618993929':{'en': 'Arrowsmith'},
10020
- '61899393':{'en': 'Northampton'},
10021
- '618993938':{'en': 'Balla'},
10022
10022
  }