phonenumbers 9.0.12__py2.py3-none-any.whl → 9.0.14__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 (55) hide show
  1. phonenumbers/__init__.py +1 -1
  2. phonenumbers/carrierdata/data0.py +22 -22
  3. phonenumbers/carrierdata/data1.py +16 -16
  4. phonenumbers/carrierdata/data2.py +30 -3
  5. phonenumbers/data/region_BT.py +6 -6
  6. phonenumbers/data/region_CZ.py +1 -1
  7. phonenumbers/data/region_DE.py +21 -2
  8. phonenumbers/data/region_GY.py +1 -1
  9. phonenumbers/data/region_IL.py +1 -1
  10. phonenumbers/data/region_IT.py +4 -4
  11. phonenumbers/data/region_LI.py +1 -1
  12. phonenumbers/data/region_LV.py +2 -2
  13. phonenumbers/data/region_ME.py +1 -1
  14. phonenumbers/data/region_OM.py +1 -1
  15. phonenumbers/data/region_PA.py +1 -1
  16. phonenumbers/data/region_SG.py +1 -1
  17. phonenumbers/data/region_SR.py +3 -3
  18. phonenumbers/data/region_US.py +2 -2
  19. phonenumbers/data/region_UY.py +4 -2
  20. phonenumbers/geodata/data1.py +1 -1
  21. phonenumbers/geodata/data10.py +8 -8
  22. phonenumbers/geodata/data11.py +21 -21
  23. phonenumbers/geodata/data12.py +6 -6
  24. phonenumbers/geodata/data13.py +6 -6
  25. phonenumbers/geodata/data14.py +6 -6
  26. phonenumbers/geodata/data15.py +6 -6
  27. phonenumbers/geodata/data16.py +6 -6
  28. phonenumbers/geodata/data17.py +6 -6
  29. phonenumbers/geodata/data18.py +6 -6
  30. phonenumbers/geodata/data19.py +6 -6
  31. phonenumbers/geodata/data2.py +1 -1
  32. phonenumbers/geodata/data20.py +6 -6
  33. phonenumbers/geodata/data21.py +6 -6
  34. phonenumbers/geodata/data22.py +6 -6
  35. phonenumbers/geodata/data23.py +6 -6
  36. phonenumbers/geodata/data24.py +6 -6
  37. phonenumbers/geodata/data25.py +6 -6
  38. phonenumbers/geodata/data26.py +6 -6
  39. phonenumbers/geodata/data27.py +6 -6
  40. phonenumbers/geodata/data28.py +3 -7
  41. phonenumbers/geodata/data3.py +1 -1
  42. phonenumbers/geodata/data4.py +1 -1
  43. phonenumbers/geodata/data5.py +2 -2
  44. phonenumbers/geodata/data6.py +1 -1
  45. phonenumbers/geodata/data7.py +1 -1
  46. phonenumbers/geodata/data8.py +9 -9
  47. phonenumbers/geodata/data9.py +8 -8
  48. phonenumbers/shortdata/region_DE.py +4 -4
  49. phonenumbers/shortdata/region_UY.py +2 -2
  50. phonenumbers/tzdata/data0.py +2 -4
  51. {phonenumbers-9.0.12.dist-info → phonenumbers-9.0.14.dist-info}/METADATA +1 -1
  52. {phonenumbers-9.0.12.dist-info → phonenumbers-9.0.14.dist-info}/RECORD +55 -55
  53. {phonenumbers-9.0.12.dist-info → phonenumbers-9.0.14.dist-info}/WHEEL +1 -1
  54. {phonenumbers-9.0.12.dist-info → phonenumbers-9.0.14.dist-info}/licenses/LICENSE +0 -0
  55. {phonenumbers-9.0.12.dist-info → phonenumbers-9.0.14.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.12"
149
+ __version__ = "9.0.14"
150
150
 
151
151
  __all__ = ['PhoneNumber', 'CountryCodeSource', 'FrozenPhoneNumber',
152
152
  'REGION_CODE_FOR_NON_GEO_ENTITY', 'NumberFormat', 'PhoneNumberDesc', 'PhoneMetadata',
@@ -1813,7 +1813,10 @@ data = {
1813
1813
  '30694':{'en': 'Vodafone'},
1814
1814
  '306950':{'en': 'Vodafone'},
1815
1815
  '306951':{'en': 'Vodafone'},
1816
- '30695200':{'en': 'Compatel'},
1816
+ '30695200':{'en': 'Vodafone'},
1817
+ '30695201':{'en': 'Vodafone'},
1818
+ '30695202':{'en': 'Vodafone'},
1819
+ '30695203':{'en': 'Vodafone'},
1817
1820
  '3069522':{'en': 'Vodafone'},
1818
1821
  '3069523':{'en': 'Vodafone'},
1819
1822
  '3069524':{'en': 'BWS'},
@@ -1824,8 +1827,10 @@ data = {
1824
1827
  '30695330':{'en': 'Apifon'},
1825
1828
  '30695340':{'en': 'AMD Telecom'},
1826
1829
  '30695355':{'en': 'Cyta'},
1827
- '30695400':{'en': 'AMD Telecom'},
1828
- '30695410':{'en': 'MI Carrier Services'},
1830
+ '3069540':{'en': 'OTE'},
1831
+ '3069541':{'en': 'OTE'},
1832
+ '3069542':{'en': 'OTE'},
1833
+ '3069543':{'en': 'OTE'},
1829
1834
  '30695456':{'en': 'BWS'},
1830
1835
  '30695490':{'en': 'MI Carrier Services'},
1831
1836
  '30695499':{'en': 'M-STAT'},
@@ -3238,7 +3243,7 @@ data = {
3238
3243
  '371298':{'en': 'Tele2'},
3239
3244
  '371299':{'en': 'Tele2'},
3240
3245
  '37250':{'en': 'Telia Eesti AS'},
3241
- '372519':{'en': 'Telia Eesti AS'},
3246
+ '37251':{'en': 'Telia Eesti AS'},
3242
3247
  '37252':{'en': 'Telia Eesti AS'},
3243
3248
  '372530':{'en': 'Telia Eesti AS'},
3244
3249
  '372533':{'en': 'Telia Eesti AS'},
@@ -3568,6 +3573,8 @@ data = {
3568
3573
  '417557':{'en': 'Swisscom'},
3569
3574
  '41757':{'en': 'Swisscom'},
3570
3575
  '417600':{'en': 'Sunrise'},
3576
+ '417601':{'en': 'Sunrise'},
3577
+ '417602':{'en': 'Sunrise'},
3571
3578
  '417603':{'en': 'Sunrise'},
3572
3579
  '417604':{'en': 'Sunrise'},
3573
3580
  '417605':{'en': 'Sunrise'},
@@ -3655,7 +3662,7 @@ data = {
3655
3662
  '420607':{'en': 'O2'},
3656
3663
  '420608':{'en': 'Vodafone'},
3657
3664
  '420702':{'en': 'O2'},
3658
- '42070300':{'en': 'T-Mobile'},
3665
+ '4207030':{'en': 'T-Mobile'},
3659
3666
  '42070301':{'en': 'YATECO'},
3660
3667
  '4207031':{'en': 'T-Mobile'},
3661
3668
  '4207032':{'en': 'T-Mobile'},
@@ -3705,7 +3712,8 @@ data = {
3705
3712
  '4207305':{'en': 'T-Mobile'},
3706
3713
  '4207306':{'en': 'T-Mobile'},
3707
3714
  '42073070':{'en': 'T-Mobile'},
3708
- '42073072':{'en': 'Amcatel'},
3715
+ '42073071':{'en': 'T-Mobile'},
3716
+ '42073072':{'en': 'T-Mobile'},
3709
3717
  '42073073':{'en': 'T-Mobile'},
3710
3718
  '42073077':{'en': 'T-Mobile'},
3711
3719
  '4207308':{'en': 'T-Mobile'},
@@ -6049,6 +6057,13 @@ data = {
6049
6057
  '467908':{'en': 'Tele2 Sverige'},
6050
6058
  '467909':{'en': 'Tele2 Sverige'},
6051
6059
  '467910':{'en': 'TELL ESS AB'},
6060
+ '4679110':{'en': 'Setera'},
6061
+ '4679111':{'en': 'Setera'},
6062
+ '4679112':{'en': 'Setera'},
6063
+ '4679113':{'en': 'Setera'},
6064
+ '4679114':{'en': 'Setera'},
6065
+ '4679115':{'en': 'Telavox AB'},
6066
+ '467915':{'en': 'TeliaSonera'},
6052
6067
  '467930':{'en': 'HI3G Access'},
6053
6068
  '467931':{'en': 'HI3G Access'},
6054
6069
  '467932':{'en': 'HI3G Access'},
@@ -6802,6 +6817,7 @@ data = {
6802
6817
  '491526':{'en': 'Vodafone'},
6803
6818
  '491529':{'en': 'Vodafone/Truphone'},
6804
6819
  '491531':{'en': 'Mtel'},
6820
+ '491533':{'en': 'Simsalasim'},
6805
6821
  '4915510':{'en': 'LEBARA'},
6806
6822
  '4915511':{'en': 'LEBARA'},
6807
6823
  '491555':{'en': '1&1 Mobilfunk'},
@@ -10003,20 +10019,4 @@ data = {
10003
10019
  '553199787':{'en': 'Telemig Celular'},
10004
10020
  '553199788':{'en': 'Telemig Celular'},
10005
10021
  '553199789':{'en': 'Telemig Celular'},
10006
- '553199791':{'en': 'Telemig Celular'},
10007
- '553199792':{'en': 'Telemig Celular'},
10008
- '553199793':{'en': 'Telemig Celular'},
10009
- '553199794':{'en': 'Telemig Celular'},
10010
- '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,22 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '553199791':{'en': 'Telemig Celular'},
23
+ '553199792':{'en': 'Telemig Celular'},
24
+ '553199793':{'en': 'Telemig Celular'},
25
+ '553199794':{'en': 'Telemig Celular'},
26
+ '553199795':{'en': 'Telemig Celular'},
27
+ '553199796':{'en': 'Telemig Celular'},
28
+ '553199797':{'en': 'Telemig Celular'},
29
+ '553199798':{'en': 'Telemig Celular'},
30
+ '553199799':{'en': 'Telemig Celular'},
31
+ '5531998':{'en': 'Telemig Celular'},
32
+ '553199800':{'en': 'TIM'},
33
+ '553199810':{'en': 'TIM'},
34
+ '553199820':{'en': 'TIM'},
35
+ '553199830':{'en': 'TIM'},
36
+ '553199840':{'en': 'TIM'},
37
+ '553199850':{'en': 'TIM'},
22
38
  '553199860':{'en': 'TIM'},
23
39
  '553199870':{'en': 'TIM'},
24
40
  '553199880':{'en': 'TIM'},
@@ -10003,20 +10019,4 @@ data = {
10003
10019
  '5730595':{'en': 'Tigo'},
10004
10020
  '573102':{'en': 'Claro'},
10005
10021
  '573103':{'en': 'Claro'},
10006
- '573104':{'en': 'Claro'},
10007
- '573105':{'en': 'Claro'},
10008
- '573106':{'en': 'Claro'},
10009
- '573107':{'en': 'Claro'},
10010
- '573108':{'en': 'Claro'},
10011
- '5731091':{'en': 'Claro'},
10012
- '5731092':{'en': 'Claro'},
10013
- '5731093':{'en': 'Claro'},
10014
- '57310990':{'en': 'Claro'},
10015
- '57310991':{'en': 'Claro'},
10016
- '573112':{'en': 'Claro'},
10017
- '573113':{'en': 'Claro'},
10018
- '573114':{'en': 'Claro'},
10019
- '573115':{'en': 'Claro'},
10020
- '573116':{'en': 'Claro'},
10021
- '573117':{'en': 'Claro'},
10022
10022
  }
@@ -19,6 +19,22 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '573104':{'en': 'Claro'},
23
+ '573105':{'en': 'Claro'},
24
+ '573106':{'en': 'Claro'},
25
+ '573107':{'en': 'Claro'},
26
+ '573108':{'en': 'Claro'},
27
+ '5731091':{'en': 'Claro'},
28
+ '5731092':{'en': 'Claro'},
29
+ '5731093':{'en': 'Claro'},
30
+ '57310990':{'en': 'Claro'},
31
+ '57310991':{'en': 'Claro'},
32
+ '573112':{'en': 'Claro'},
33
+ '573113':{'en': 'Claro'},
34
+ '573114':{'en': 'Claro'},
35
+ '573115':{'en': 'Claro'},
36
+ '573116':{'en': 'Claro'},
37
+ '573117':{'en': 'Claro'},
22
38
  '573118':{'en': 'Claro'},
23
39
  '573122':{'en': 'Claro'},
24
40
  '573123':{'en': 'Claro'},
@@ -425,6 +441,7 @@ data = {
425
441
  '59670910':{'en': u('Free Cara\u00efbe')},
426
442
  '59670912':{'en': 'Digicel'},
427
443
  '59670913':{'en': 'Orange'},
444
+ '5976':{'en': 'Telesur'},
428
445
  '59771':{'en': 'Digicel'},
429
446
  '59772':{'en': 'Digicel'},
430
447
  '59774':{'en': 'Digicel'},
@@ -1445,7 +1462,15 @@ data = {
1445
1462
  '658971':{'en': 'Circle.Life'},
1446
1463
  '658972':{'en': 'SingTel'},
1447
1464
  '658976':{'en': 'SingTel'},
1448
- '65898':{'en': 'Simba'},
1465
+ '658977':{'en': 'SingTel'},
1466
+ '658980':{'en': 'Simba'},
1467
+ '658982':{'en': 'SingTel'},
1468
+ '658983':{'en': 'SingTel'},
1469
+ '658984':{'en': 'SingTel'},
1470
+ '658985':{'en': 'SingTel'},
1471
+ '658986':{'en': 'Simba'},
1472
+ '658987':{'en': 'Simba'},
1473
+ '658988':{'en': 'Simba'},
1449
1474
  '659001':{'en': 'StarHub'},
1450
1475
  '659002':{'en': 'StarHub'},
1451
1476
  '659003':{'en': 'StarHub'},
@@ -4643,7 +4668,7 @@ data = {
4643
4668
  '86189':{'en': 'China Telecom', 'zh': u('\u4e2d\u56fd\u7535\u4fe1'), 'zh_Hant': u('\u4e2d\u570b\u96fb\u4fe1')},
4644
4669
  '86190':{'en': 'China Telecom', 'zh': u('\u4e2d\u56fd\u7535\u4fe1')},
4645
4670
  '86191':{'en': 'China Telecom', 'zh': u('\u4e2d\u56fd\u7535\u4fe1')},
4646
- '86192':{'en': 'CBN', 'zh': 'CBN'},
4671
+ '86192':{'en': 'China Broadnet', 'zh': u('\u4e2d\u56fd\u5e7f\u7535')},
4647
4672
  '86193':{'en': 'China Telecom', 'zh': u('\u4e2d\u56fd\u7535\u4fe1')},
4648
4673
  '86195':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')},
4649
4674
  '86196':{'en': 'China Unicom', 'zh': u('\u4e2d\u56fd\u8054\u901a')},
@@ -8314,6 +8339,7 @@ data = {
8314
8339
  '96871':{'en': 'Omantel'},
8315
8340
  '96872':{'en': 'Omantel'},
8316
8341
  '96874':{'en': 'Ooredoo'},
8342
+ '96875':{'en': 'Vodafone Oman'},
8317
8343
  '96876':{'en': 'Vodafone Oman'},
8318
8344
  '96877':{'en': 'Vodafone Oman'},
8319
8345
  '96878':{'en': 'Ooredoo'},
@@ -8451,6 +8477,7 @@ data = {
8451
8477
  '97477':{'en': 'Vodafone'},
8452
8478
  '9751':{'en': 'B-Mobile of Bhutan Telecom'},
8453
8479
  '97577':{'en': 'TashiCell of Tashi InfoComm'},
8480
+ '97587':{'en': 'TashiCell of Tashi InfoComm'},
8454
8481
  '97650':{'en': 'Unitel'},
8455
8482
  '97655':{'en': 'Unitel'},
8456
8483
  '97660':{'en': 'ONDO'},
@@ -8904,7 +8931,7 @@ data = {
8904
8931
  '9988':{'en': 'MobiUZ'},
8905
8932
  '99890':{'en': 'Beeline'},
8906
8933
  '99891':{'en': 'Beeline'},
8907
- '99892':{'en': 'MobiUZ'},
8934
+ '99892':{'en': 'Beeline'},
8908
8935
  '99893':{'en': 'Ucell'},
8909
8936
  '99894':{'en': 'Ucell'},
8910
8937
  '99895':{'en': 'Uzbektelecom'},
@@ -2,11 +2,11 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_BT = PhoneMetadata(id='BT', country_code=975, international_prefix='00',
5
- general_desc=PhoneNumberDesc(national_number_pattern='[17]\\d{7}|[2-8]\\d{6}', possible_length=(7, 8), possible_length_local_only=(6,)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='[178]\\d{7}|[2-8]\\d{6}', possible_length=(7, 8), possible_length_local_only=(6,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\d{5}', example_number='2345678', possible_length=(7,), possible_length_local_only=(6,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:1[67]|77)\\d{6}', example_number='17123456', possible_length=(8,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:1[67]|[78]7)\\d{6}', example_number='17123456', possible_length=(8,)),
8
8
  number_format=[NumberFormat(pattern='(\\d{3})(\\d{3})', format='\\1 \\2', leading_digits_pattern=['[2-7]']),
9
- NumberFormat(pattern='(\\d)(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['[2-68]|7[246]']),
10
- NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['1[67]|7'])],
11
- intl_number_format=[NumberFormat(pattern='(\\d)(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['[2-68]|7[246]']),
12
- NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['1[67]|7'])])
9
+ NumberFormat(pattern='(\\d)(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['[2-6]|7[246]|8[2-4]']),
10
+ NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['1[67]|[78]'])],
11
+ intl_number_format=[NumberFormat(pattern='(\\d)(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['[2-6]|7[246]|8[2-4]']),
12
+ NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['1[67]|[78]'])])
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_CZ = PhoneMetadata(id='CZ', country_code=420, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}', possible_length=(9, 10, 11, 12)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:2\\d|3[1257-9]|4[16-9]|5[13-9])\\d{7}', example_number='212345678', possible_length=(9,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:60[1-8]\\d|7(?:0(?:[2-5]\\d|60)|19[0-4]|[2379]\\d\\d))\\d{5}', example_number='601123456', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='7(?:060\\d|19(?:[0-4]\\d|50))\\d{4}|(?:60[1-8]|7(?:0[2-5]|[2379]\\d))\\d{6}', example_number='601123456', 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='9(?:0[05689]|76)\\d{6}', example_number='900123456', possible_length=(9,)),
10
10
  shared_cost=PhoneNumberDesc(national_number_pattern='8[134]\\d{7}', example_number='811234567', possible_length=(9,)),
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_DE = PhoneMetadata(id='DE', country_code=49, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}', possible_length=(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), possible_length_local_only=(2, 3)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='32\\d{9,11}|49[1-6]\\d{10}|322\\d{6}|49[0-7]\\d{3,9}|(?:[34]0|[68]9)\\d{3,13}|(?:2(?:0[1-689]|[1-3569]\\d|4[0-8]|7[1-7]|8[0-7])|3(?:[3569]\\d|4[0-79]|7[1-7]|8[1-8])|4(?:1[02-9]|[2-48]\\d|5[0-6]|6[0-8]|7[0-79])|5(?:0[2-8]|[124-6]\\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-358]\\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\\d|[4-6][0-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|2\\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\\d|[589][0-7]|6[0-8]|7[0-467]))\\d{3,12}', example_number='30123456', possible_length=(5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), possible_length_local_only=(2, 3, 4)),
7
- mobile=PhoneNumberDesc(national_number_pattern='15310\\d{6}|1(?:5[0-25-9]\\d|7[013-5])\\d{7}|1(?:6[023]|7[26-9])\\d{7,8}', example_number='15123456789', possible_length=(10, 11)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='1(?:(?:5(?:[0-25-9]\\d\\d|3(?:10|33))|7[26-9]\\d\\d)\\d{6}|6[023]\\d{7,8})|17\\d{8}', example_number='15123456789', possible_length=(10, 11)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='800\\d{7,12}', example_number='8001234567890', possible_length=(10, 11, 12, 13, 14, 15)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='(?:137[7-9]|900(?:[135]|9\\d))\\d{6}', example_number='9001234567', possible_length=(10, 11)),
10
10
  shared_cost=PhoneNumberDesc(national_number_pattern='180\\d{5,11}|13(?:7[1-6]\\d\\d|8)\\d{4}', example_number='18012345', possible_length=(7, 8, 9, 10, 11, 12, 13, 14)),
@@ -15,6 +15,7 @@ PHONE_METADATA_DE = PhoneMetadata(id='DE', country_code=49, international_prefix
15
15
  national_prefix='0',
16
16
  national_prefix_for_parsing='0',
17
17
  number_format=[NumberFormat(pattern='(\\d{2})(\\d{3,13})', format='\\1 \\2', leading_digits_pattern=['3[02]|40|[68]9'], national_prefix_formatting_rule='0\\1'),
18
+ NumberFormat(pattern='(\\d{6})', format='\\1', leading_digits_pattern=['227', '2277']),
18
19
  NumberFormat(pattern='(\\d{3})(\\d{3,12})', format='\\1 \\2', leading_digits_pattern=['2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1', '2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1'], national_prefix_formatting_rule='0\\1'),
19
20
  NumberFormat(pattern='(\\d{4})(\\d{2,11})', format='\\1 \\2', leading_digits_pattern=['[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]', '[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]'], national_prefix_formatting_rule='0\\1'),
20
21
  NumberFormat(pattern='(\\d{3})(\\d{4})', format='\\1 \\2', leading_digits_pattern=['138'], national_prefix_formatting_rule='0\\1'),
@@ -27,9 +28,27 @@ PHONE_METADATA_DE = PhoneMetadata(id='DE', country_code=49, international_prefix
27
28
  NumberFormat(pattern='(\\d{3})(\\d{4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['7'], national_prefix_formatting_rule='0\\1'),
28
29
  NumberFormat(pattern='(\\d{4})(\\d{7})', format='\\1 \\2', leading_digits_pattern=['18[68]'], national_prefix_formatting_rule='0\\1'),
29
30
  NumberFormat(pattern='(\\d{4})(\\d{7})', format='\\1 \\2', leading_digits_pattern=['15[1279]'], national_prefix_formatting_rule='0\\1'),
30
- NumberFormat(pattern='(\\d{5})(\\d{6})', format='\\1 \\2', leading_digits_pattern=['15[03568]', '15(?:[0568]|31)'], national_prefix_formatting_rule='0\\1'),
31
+ NumberFormat(pattern='(\\d{5})(\\d{6})', format='\\1 \\2', leading_digits_pattern=['15[03568]', '15(?:[0568]|3[13])'], national_prefix_formatting_rule='0\\1'),
31
32
  NumberFormat(pattern='(\\d{3})(\\d{8})', format='\\1 \\2', leading_digits_pattern=['18'], national_prefix_formatting_rule='0\\1'),
32
33
  NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{7,8})', format='\\1 \\2 \\3', leading_digits_pattern=['1(?:6[023]|7)'], national_prefix_formatting_rule='0\\1'),
33
34
  NumberFormat(pattern='(\\d{4})(\\d{2})(\\d{7})', format='\\1 \\2 \\3', leading_digits_pattern=['15[279]'], national_prefix_formatting_rule='0\\1'),
34
35
  NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{8})', format='\\1 \\2 \\3', leading_digits_pattern=['15'], national_prefix_formatting_rule='0\\1')],
36
+ intl_number_format=[NumberFormat(pattern='(\\d{2})(\\d{3,13})', format='\\1 \\2', leading_digits_pattern=['3[02]|40|[68]9']),
37
+ NumberFormat(pattern='(\\d{3})(\\d{3,12})', format='\\1 \\2', leading_digits_pattern=['2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1', '2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1']),
38
+ NumberFormat(pattern='(\\d{4})(\\d{2,11})', format='\\1 \\2', leading_digits_pattern=['[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]', '[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]']),
39
+ NumberFormat(pattern='(\\d{3})(\\d{4})', format='\\1 \\2', leading_digits_pattern=['138']),
40
+ NumberFormat(pattern='(\\d{5})(\\d{2,10})', format='\\1 \\2', leading_digits_pattern=['3']),
41
+ NumberFormat(pattern='(\\d{3})(\\d{5,11})', format='\\1 \\2', leading_digits_pattern=['181']),
42
+ NumberFormat(pattern='(\\d{3})(\\d)(\\d{4,10})', format='\\1 \\2 \\3', leading_digits_pattern=['1(?:3|80)|9']),
43
+ NumberFormat(pattern='(\\d{3})(\\d{7,8})', format='\\1 \\2', leading_digits_pattern=['1[67]']),
44
+ NumberFormat(pattern='(\\d{3})(\\d{7,12})', format='\\1 \\2', leading_digits_pattern=['8']),
45
+ NumberFormat(pattern='(\\d{5})(\\d{6})', format='\\1 \\2', leading_digits_pattern=['185', '1850', '18500']),
46
+ NumberFormat(pattern='(\\d{3})(\\d{4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['7']),
47
+ NumberFormat(pattern='(\\d{4})(\\d{7})', format='\\1 \\2', leading_digits_pattern=['18[68]']),
48
+ NumberFormat(pattern='(\\d{4})(\\d{7})', format='\\1 \\2', leading_digits_pattern=['15[1279]']),
49
+ NumberFormat(pattern='(\\d{5})(\\d{6})', format='\\1 \\2', leading_digits_pattern=['15[03568]', '15(?:[0568]|3[13])']),
50
+ NumberFormat(pattern='(\\d{3})(\\d{8})', format='\\1 \\2', leading_digits_pattern=['18']),
51
+ NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{7,8})', format='\\1 \\2 \\3', leading_digits_pattern=['1(?:6[023]|7)']),
52
+ NumberFormat(pattern='(\\d{4})(\\d{2})(\\d{7})', format='\\1 \\2 \\3', leading_digits_pattern=['15[279]']),
53
+ NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{8})', format='\\1 \\2 \\3', leading_digits_pattern=['15'])],
35
54
  mobile_number_portable_region=True)
@@ -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[019]|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-39]|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_IL = PhoneMetadata(id='IL', country_code=972, international_prefix='0(?:0|1[2-9])',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}', possible_length=(7, 8, 9, 10, 11, 12)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='153\\d{8,9}|29[1-9]\\d{5}|(?:2[0-8]|[3489]\\d)\\d{6}', example_number='21234567', possible_length=(8, 11, 12), possible_length_local_only=(7,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='55(?:4(?:[01]0|5[0-5])|57[0-289])\\d{4}|5(?:(?:[0-2][02-9]|[36]\\d|[49][2-9]|8[3-7])\\d|5(?:01|2\\d|3[0-3]|4[34]|5[0-25689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\d{5}', example_number='502345678', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='55(?:4(?:0[01]|10|5[0-7])|57[0-289])\\d{4}|5(?:(?:[0-2][02-9]|[36]\\d|[49][2-9]|8[3-7])\\d|5(?:01|2\\d|3[0-3]|4[34]|5[0-25689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\d{5}', example_number='502345678', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='1(?:255|80[019]\\d{3})\\d{3}', example_number='1800123456', possible_length=(7, 10)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='1212\\d{4}|1(?:200|9(?:0[0-2]|19))\\d{6}', example_number='1919123456', possible_length=(8, 10)),
10
10
  shared_cost=PhoneNumberDesc(national_number_pattern='1700\\d{6}', example_number='1700123456', possible_length=(10,)),
@@ -2,8 +2,8 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_IT = PhoneMetadata(id='IT', country_code=39, international_prefix='00',
5
- general_desc=PhoneNumberDesc(national_number_pattern='0\\d{5,10}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?', possible_length=(6, 7, 8, 9, 10, 11, 12)),
6
- fixed_line=PhoneNumberDesc(national_number_pattern='0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}', example_number='0212345678', possible_length=(6, 7, 8, 9, 10, 11)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='0\\d{5,11}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?', possible_length=(6, 7, 8, 9, 10, 11, 12)),
6
+ fixed_line=PhoneNumberDesc(national_number_pattern='0(?:669[0-79]\\d{1,6}|831\\d{2,8})|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[2356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}', example_number='0212345678', possible_length=(6, 7, 8, 9, 10, 11, 12)),
7
7
  mobile=PhoneNumberDesc(national_number_pattern='3[2-9]\\d{7,8}|(?:31|43)\\d{8}', example_number='3123456789', possible_length=(9, 10)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='80(?:0\\d{3}|3)\\d{3}', example_number='800123456', possible_length=(6, 9)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}', example_number='899123456', possible_length=(6, 8, 9, 10)),
@@ -23,7 +23,7 @@ PHONE_METADATA_IT = PhoneMetadata(id='IT', country_code=39, international_prefix
23
23
  NumberFormat(pattern='(\\d{3})(\\d{3,4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['0[13-57-9][0159]|14']),
24
24
  NumberFormat(pattern='(\\d{2})(\\d{4})(\\d{5})', format='\\1 \\2 \\3', leading_digits_pattern=['0[26]']),
25
25
  NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['0']),
26
- NumberFormat(pattern='(\\d{3})(\\d{4})(\\d{4,5})', format='\\1 \\2 \\3', leading_digits_pattern=['3'])],
26
+ NumberFormat(pattern='(\\d{3})(\\d{4})(\\d{4,5})', format='\\1 \\2 \\3', leading_digits_pattern=['[03]'])],
27
27
  intl_number_format=[NumberFormat(pattern='(\\d{2})(\\d{4,6})', format='\\1 \\2', leading_digits_pattern=['0[26]']),
28
28
  NumberFormat(pattern='(\\d{3})(\\d{3,6})', format='\\1 \\2', leading_digits_pattern=['0[13-57-9][0159]|8(?:03|4[17]|9[2-5])', '0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))']),
29
29
  NumberFormat(pattern='(\\d{4})(\\d{2,6})', format='\\1 \\2', leading_digits_pattern=['0(?:[13-579][2-46-8]|8[236-8])']),
@@ -33,6 +33,6 @@ PHONE_METADATA_IT = PhoneMetadata(id='IT', country_code=39, international_prefix
33
33
  NumberFormat(pattern='(\\d{3})(\\d{3,4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['0[13-57-9][0159]|14']),
34
34
  NumberFormat(pattern='(\\d{2})(\\d{4})(\\d{5})', format='\\1 \\2 \\3', leading_digits_pattern=['0[26]']),
35
35
  NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['0']),
36
- NumberFormat(pattern='(\\d{3})(\\d{4})(\\d{4,5})', format='\\1 \\2 \\3', leading_digits_pattern=['3'])],
36
+ NumberFormat(pattern='(\\d{3})(\\d{4})(\\d{4,5})', format='\\1 \\2 \\3', leading_digits_pattern=['[03]'])],
37
37
  main_country_for_code=True,
38
38
  mobile_number_portable_region=True)
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_LI = PhoneMetadata(id='LI', country_code=423, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[68]\\d{8}|(?:[2378]\\d|90)\\d{5}', possible_length=(7, 9)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:2(?:01|1[27]|2[024]|3\\d|6[02-578]|96)|3(?:[24]0|33|7[0135-7]|8[048]|9[0269]))\\d{4}', example_number='2345678', possible_length=(7,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:6(?:(?:4[5-9]|5[0-46-9])\\d|6(?:[024-6]\\d|[17]0|3[7-9]))\\d|7(?:[37-9]\\d|42|56))\\d{4}', example_number='660234567', possible_length=(7, 9)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:6(?:(?:4[5-9]|5\\d)\\d|6(?:[024-6]\\d|[17]0|3[7-9]))\\d|7(?:[37-9]\\d|42|56))\\d{4}', example_number='660234567', possible_length=(7, 9)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='8002[28]\\d\\d|80(?:05\\d|9)\\d{4}', example_number='8002222', possible_length=(7, 9)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='90(?:02[258]|1(?:23|3[14])|66[136])\\d\\d', example_number='9002222', possible_length=(7,)),
10
10
  uan=PhoneNumberDesc(national_number_pattern='870(?:28|87)\\d\\d', example_number='8702812', possible_length=(7,)),
@@ -2,11 +2,11 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_LV = PhoneMetadata(id='LV', country_code=371, international_prefix='00',
5
- general_desc=PhoneNumberDesc(national_number_pattern='(?:[268]\\d|90)\\d{6}', possible_length=(8,)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='(?:[268]\\d|78|90)\\d{6}', possible_length=(8,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='6\\d{7}', example_number='63123456', possible_length=(8,)),
7
7
  mobile=PhoneNumberDesc(national_number_pattern='2333[0-8]\\d{3}|2(?:[0-24-9]\\d\\d|3(?:0[07]|[14-9]\\d|2[02-9]|3[0-24-9]))\\d{4}', example_number='21234567', possible_length=(8,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='80\\d{6}', example_number='80123456', possible_length=(8,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='90\\d{6}', example_number='90123456', possible_length=(8,)),
10
10
  shared_cost=PhoneNumberDesc(national_number_pattern='81\\d{6}', example_number='81123456', possible_length=(8,)),
11
- number_format=[NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['[269]|8[01]'])],
11
+ number_format=[NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['[2679]|8[01]'])],
12
12
  mobile_number_portable_region=True)
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_ME = PhoneMetadata(id='ME', country_code=382, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}', possible_length=(8, 9), possible_length_local_only=(6,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:20[2-8]|3(?:[0-2][2-7]|3[24-7])|4(?:0[2-467]|1[2467])|5(?:0[2467]|1[24-7]|2[2-467]))\\d{5}', example_number='30234567', possible_length=(8,), possible_length_local_only=(6,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='6(?:[07-9]\\d|3[024]|6[0-25])\\d{5}', example_number='67622901', possible_length=(8,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='6(?:[07-9]\\d|3[024]|6[0-25])\\d{5}', example_number='60123456', possible_length=(8,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='80(?:[0-2578]|9\\d)\\d{5}', example_number='80080002', possible_length=(8, 9)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='9(?:4[1568]|5[178])\\d{5}', example_number='94515151', possible_length=(8,)),
10
10
  voip=PhoneNumberDesc(national_number_pattern='78[1-49]\\d{5}', example_number='78108780', possible_length=(8,)),
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_OM = PhoneMetadata(id='OM', country_code=968, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}', possible_length=(7, 8, 9)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='2[1-6]\\d{6}', example_number='23123456', possible_length=(8,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='1505\\d{4}|(?:7(?:[126-9]\\d|41)|9(?:0[1-9]|[1-9]\\d))\\d{5}', example_number='92123456', possible_length=(8,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='1505\\d{4}|(?:7(?:[125-9]\\d|41)|9(?:0[1-9]|[1-9]\\d))\\d{5}', example_number='92123456', possible_length=(8,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='8007\\d{4,5}|(?:500|800[05])\\d{4}', example_number='80071234', possible_length=(7, 8, 9)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='900\\d{5}', example_number='90012345', possible_length=(8,)),
10
10
  number_format=[NumberFormat(pattern='(\\d{3})(\\d{4,6})', format='\\1 \\2', leading_digits_pattern=['[58]']),
@@ -3,7 +3,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_PA = PhoneMetadata(id='PA', country_code=507, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}', possible_length=(7, 8, 10, 11)),
6
- fixed_line=PhoneNumberDesc(national_number_pattern='(?:1(?:0\\d|1[479]|2[37]|3[0137]|4[17]|5[05]|6[058]|7[0167]|8[2358]|9[1389])|2(?:[0235-79]\\d|1[0-7]|4[013-9]|8[02-9])|3(?:[047-9]\\d|1[0-8]|2[0-5]|33|5[0-35]|6[068])|4(?:00|3[0-579]|4\\d|7[0-57-9])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-26-8]|3[03]|4[04]|5[05-9]|6[0156]|7[0-24-9]|8[4-9]|90)|8(?:09|2[89]|3\\d|4[0-24-689]|5[014]|8[02])|9(?:0[5-9]|1[0135-8]|2[036-9]|3[35-79]|40|5[0457-9]|6[05-9]|7[04-9]|8[35-8]|9\\d))\\d{4}', example_number='2001234', possible_length=(7,)),
6
+ fixed_line=PhoneNumberDesc(national_number_pattern='(?:1(?:0\\d|1[0479]|2[37]|3[0137]|4[17]|5[05]|6[058]|7[0167]|8[2358]|9[1389])|2(?:[0235-79]\\d|1[0-7]|4[013-9]|8[02-9])|3(?:[047-9]\\d|1[0-8]|2[0-5]|33|5[0-35]|6[068])|4(?:00|3[0-579]|4\\d|7[0-57-9])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-26-8]|3[03]|4[04]|5[05-9]|6[0156]|7[0-24-9]|8[4-9]|90)|8(?:09|2[89]|3\\d|4[0-24-689]|5[014]|8[02])|9(?:0[5-9]|1[0135-8]|2[036-9]|3[35-79]|40|5[0457-9]|6[05-9]|7[04-9]|8[35-8]|9\\d))\\d{4}', example_number='2001234', possible_length=(7,)),
7
7
  mobile=PhoneNumberDesc(national_number_pattern='(?:1[16]1|21[89]|6\\d{3}|8(?:1[01]|7[23]))\\d{4}', example_number='61234567', possible_length=(7, 8)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='800\\d{4,5}|(?:00800|800\\d)\\d{6}', example_number='8001234', possible_length=(7, 8, 10, 11)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='(?:8(?:22|55|60|7[78]|86)|9(?:00|81))\\d{4}', example_number='8601234', possible_length=(7,)),
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_SG = PhoneMetadata(id='SG', country_code=65, international_prefix='0[0-3]\\d',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}', possible_length=(8, 10, 11)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='662[0-24-9]\\d{4}|6(?:[0-578]\\d|6[013-57-9]|9[0-35-9])\\d{5}', example_number='61234567', possible_length=(8,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='89(?:7[0-689]|80)\\d{4}|(?:8(?:0[1-9]|[1-8]\\d|9[0-6])|9[0-8]\\d)\\d{5}', example_number='81234567', possible_length=(8,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='898[02-8]\\d{4}|(?:8(?:0[1-9]|[1-8]\\d|9[0-7])|9[0-8]\\d)\\d{5}', example_number='81234567', possible_length=(8,)),
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,)),
@@ -2,9 +2,9 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_SR = PhoneMetadata(id='SR', country_code=597, international_prefix='00',
5
- general_desc=PhoneNumberDesc(national_number_pattern='(?:[2-5]|68|[78]\\d|90)\\d{5}', possible_length=(6, 7)),
6
- fixed_line=PhoneNumberDesc(national_number_pattern='(?:2[1-3]|3[0-7]|(?:4|68)\\d|5[2-58])\\d{4}', example_number='211234', possible_length=(6, 7)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:7[124-7]|8[1-9])\\d{5}', example_number='7412345', possible_length=(7,)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='(?:[2-5]|[6-8]\\d|90)\\d{5}', possible_length=(6, 7)),
6
+ fixed_line=PhoneNumberDesc(national_number_pattern='(?:2[1-3]|3[0-7]|4\\d|5[2-58])\\d{4}', example_number='211234', possible_length=(6,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:6[08]|7[124-7]|8[1-9])\\d{5}', example_number='7412345', possible_length=(7,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='80\\d{5}', example_number='8012345', possible_length=(7,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='90\\d{5}', example_number='9012345', possible_length=(7,)),
10
10
  voip=PhoneNumberDesc(national_number_pattern='56\\d{4}', example_number='561234', possible_length=(6,)),
@@ -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[0-68]))\\d{4}|(?:2742|305[3-9]|(?:472|983)[2-47-9]|505[2-57-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[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)|5056(?:[0-35-9]\\d|4[0-68]))\\d{4}|(?:2742|305[3-9]|(?:472|983)[2-47-9]|505[2-57-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[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)|5056(?:[0-35-9]\\d|4[0-68]))\\d{4}|(?:2742|305[3-9]|(?:472|983)[2-47-9]|505[2-57-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-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)|5056(?:[0-35-9]\\d|4[0-68]))\\d{4}|(?:2742|305[3-9]|(?:472|983)[2-47-9]|505[2-57-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-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,)),
@@ -2,16 +2,18 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_UY = PhoneMetadata(id='UY', country_code=598, international_prefix='0(?:0|1[3-9]\\d)',
5
- general_desc=PhoneNumberDesc(national_number_pattern='0004\\d{2,9}|[1249]\\d{7}|(?:[49]\\d|80)\\d{5}', possible_length=(6, 7, 8, 9, 10, 11, 12, 13)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='0004\\d{2,9}|[1249]\\d{7}|2\\d{3,4}|(?:[49]\\d|80)\\d{5}', possible_length=(4, 5, 6, 7, 8, 9, 10, 11, 12, 13)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:1(?:770|9(?:20|[89]7))|(?:2\\d|4[2-7])\\d\\d)\\d{4}', example_number='21231234', possible_length=(8,), possible_length_local_only=(7,)),
7
7
  mobile=PhoneNumberDesc(national_number_pattern='9[1-9]\\d{6}', example_number='94231234', possible_length=(8,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='0004\\d{2,9}|(?:405|80[05])\\d{4}', example_number='8001234', possible_length=(6, 7, 8, 9, 10, 11, 12, 13)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='90[0-8]\\d{4}', example_number='9001234', possible_length=(7,)),
10
+ uan=PhoneNumberDesc(national_number_pattern='21\\d{2,3}', example_number='21123', possible_length=(4, 5)),
10
11
  preferred_international_prefix='00',
11
12
  national_prefix='0',
12
13
  preferred_extn_prefix=' int. ',
13
14
  national_prefix_for_parsing='0',
14
- number_format=[NumberFormat(pattern='(\\d{3})(\\d{3,4})', format='\\1 \\2', leading_digits_pattern=['0']),
15
+ number_format=[NumberFormat(pattern='(\\d{4,5})', format='\\1', leading_digits_pattern=['21']),
16
+ NumberFormat(pattern='(\\d{3})(\\d{3,4})', format='\\1 \\2', leading_digits_pattern=['0']),
15
17
  NumberFormat(pattern='(\\d{3})(\\d{4})', format='\\1 \\2', leading_digits_pattern=['[49]0|8'], national_prefix_formatting_rule='0\\1'),
16
18
  NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['9'], national_prefix_formatting_rule='0\\1'),
17
19
  NumberFormat(pattern='(\\d{4})(\\d{4})', format='\\1 \\2', leading_digits_pattern=['[124]']),
@@ -9387,6 +9387,7 @@ data = {
9387
9387
  '1682647':{'en': 'Fort Worth, TX'},
9388
9388
  '1682885':{'en': 'Fort Worth, TX'},
9389
9389
  '1683':{'en': 'Ontario'},
9390
+ '1686':{'en': 'Virginia'},
9390
9391
  '1689':{'en': 'Florida'},
9391
9392
  '1701':{'en': 'North Dakota'},
9392
9393
  '1701221':{'en': 'Bismarck, ND'},
@@ -10018,5 +10019,4 @@ data = {
10018
10019
  '1705357':{'en': 'Sunderland, ON'},
10019
10020
  '1705360':{'en': 'Timmins, ON'},
10020
10021
  '1705362':{'en': 'Hearst, ON'},
10021
- '1705368':{'en': 'Little Current, ON'},
10022
10022
  }
@@ -19,6 +19,14 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '61350382':{'en': 'Kyalite'},
23
+ '61350383':{'en': 'Manangatang'},
24
+ '61350384':{'en': 'Nandaly'},
25
+ '61350385':{'en': 'Natya'},
26
+ '61350386':{'en': 'Nyah'},
27
+ '61350387':{'en': 'Sea Lake'},
28
+ '61350388':{'en': 'Natya'},
29
+ '61350389':{'en': 'Natya'},
22
30
  '61350390':{'en': 'Swan Hill'},
23
31
  '61350391':{'en': 'Waitchie'},
24
32
  '61350392':{'en': 'Waitchie'},
@@ -10011,12 +10019,4 @@ data = {
10011
10019
  '61728004':{'en': 'Cleveland'},
10012
10020
  '61728005':{'en': 'Ipswich'},
10013
10021
  '61728006':{'en': 'Beenleigh'},
10014
- '61728007':{'en': 'Cleveland'},
10015
- '61728008':{'en': 'Ipswich'},
10016
- '61728009':{'en': 'Beenleigh'},
10017
- '61728010':{'en': 'Cleveland'},
10018
- '61728011':{'en': 'Ipswich'},
10019
- '61728012':{'en': 'Beenleigh'},
10020
- '61728013':{'en': 'Cleveland'},
10021
- '61728014':{'en': 'Ipswich'},
10022
10022
  }