phonenumbers 9.0.4__py2.py3-none-any.whl → 9.0.6__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 (57) hide show
  1. phonenumbers/__init__.py +1 -1
  2. phonenumbers/carrierdata/data0.py +34 -34
  3. phonenumbers/carrierdata/data1.py +21 -21
  4. phonenumbers/carrierdata/data2.py +51 -9
  5. phonenumbers/data/region_BI.py +1 -1
  6. phonenumbers/data/region_CA.py +2 -2
  7. phonenumbers/data/region_CO.py +4 -4
  8. phonenumbers/data/region_EH.py +1 -1
  9. phonenumbers/data/region_HK.py +1 -1
  10. phonenumbers/data/region_IL.py +1 -1
  11. phonenumbers/data/region_IR.py +1 -1
  12. phonenumbers/data/region_LA.py +2 -3
  13. phonenumbers/data/region_LI.py +2 -2
  14. phonenumbers/data/region_LR.py +2 -2
  15. phonenumbers/data/region_MA.py +1 -1
  16. phonenumbers/data/region_ML.py +1 -1
  17. phonenumbers/data/region_MY.py +1 -1
  18. phonenumbers/data/region_QA.py +2 -2
  19. phonenumbers/data/region_SA.py +1 -3
  20. phonenumbers/data/region_SG.py +1 -1
  21. phonenumbers/data/region_SR.py +4 -2
  22. phonenumbers/data/region_US.py +2 -2
  23. phonenumbers/geodata/data0.py +1 -1
  24. phonenumbers/geodata/data1.py +1 -1
  25. phonenumbers/geodata/data10.py +2 -2
  26. phonenumbers/geodata/data11.py +2 -2
  27. phonenumbers/geodata/data12.py +2 -2
  28. phonenumbers/geodata/data13.py +2 -2
  29. phonenumbers/geodata/data14.py +2 -2
  30. phonenumbers/geodata/data15.py +2 -2
  31. phonenumbers/geodata/data16.py +2 -2
  32. phonenumbers/geodata/data17.py +2 -2
  33. phonenumbers/geodata/data18.py +2 -2
  34. phonenumbers/geodata/data19.py +2 -2
  35. phonenumbers/geodata/data2.py +1 -1
  36. phonenumbers/geodata/data20.py +2 -2
  37. phonenumbers/geodata/data21.py +2 -2
  38. phonenumbers/geodata/data22.py +2 -2
  39. phonenumbers/geodata/data23.py +2 -2
  40. phonenumbers/geodata/data24.py +2 -2
  41. phonenumbers/geodata/data25.py +2 -2
  42. phonenumbers/geodata/data26.py +2 -2
  43. phonenumbers/geodata/data27.py +2 -2
  44. phonenumbers/geodata/data28.py +2 -0
  45. phonenumbers/geodata/data3.py +1 -1
  46. phonenumbers/geodata/data4.py +1 -1
  47. phonenumbers/geodata/data5.py +1 -1
  48. phonenumbers/geodata/data6.py +1 -1
  49. phonenumbers/geodata/data7.py +2 -2
  50. phonenumbers/geodata/data8.py +2 -2
  51. phonenumbers/geodata/data9.py +2 -2
  52. phonenumbers/tzdata/data0.py +1 -0
  53. {phonenumbers-9.0.4.dist-info → phonenumbers-9.0.6.dist-info}/METADATA +1 -1
  54. {phonenumbers-9.0.4.dist-info → phonenumbers-9.0.6.dist-info}/RECORD +57 -57
  55. {phonenumbers-9.0.4.dist-info → phonenumbers-9.0.6.dist-info}/LICENSE +0 -0
  56. {phonenumbers-9.0.4.dist-info → phonenumbers-9.0.6.dist-info}/WHEEL +0 -0
  57. {phonenumbers-9.0.4.dist-info → phonenumbers-9.0.6.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.4"
149
+ __version__ = "9.0.6"
150
150
 
151
151
  __all__ = ['PhoneNumber', 'CountryCodeSource', 'FrozenPhoneNumber',
152
152
  'REGION_CODE_FOR_NON_GEO_ENTITY', 'NumberFormat', 'PhoneNumberDesc', 'PhoneMetadata',
@@ -980,6 +980,7 @@ data = {
980
980
  '2290190':{'en': 'MTN'},
981
981
  '2290191':{'en': 'MTN'},
982
982
  '2290192':{'en': 'Celtiis'},
983
+ '2290193':{'en': 'Celtiis'},
983
984
  '2290194':{'en': 'Moov'},
984
985
  '2290195':{'en': 'Moov'},
985
986
  '2290196':{'en': 'MTN'},
@@ -2210,6 +2211,7 @@ data = {
2210
2211
  '3375634':{'en': 'Euroinformation Telecom'},
2211
2212
  '3375644':{'en': 'SFR'},
2212
2213
  '3375645':{'en': 'SFR'},
2214
+ '3375648':{'en': 'Bouygues'},
2213
2215
  '337565':{'en': 'Transatel'},
2214
2216
  '337566':{'en': 'Transatel'},
2215
2217
  '337567':{'en': 'Transatel'},
@@ -2918,11 +2920,28 @@ data = {
2918
2920
  '370648':{'en': 'Tele 2'},
2919
2921
  '37065':{'en': u('BIT\u0116')},
2920
2922
  '370660':{'en': u('BIT\u0116')},
2921
- '370661':{'en': u('BIT\u0116')},
2922
2923
  '3706610':{'en': 'Tele 2'},
2924
+ '37066105':{'en': u('BIT\u0116')},
2925
+ '3706611':{'en': u('BIT\u0116')},
2926
+ '3706612':{'en': u('BIT\u0116')},
2927
+ '3706613':{'en': u('BIT\u0116')},
2928
+ '3706614':{'en': u('BIT\u0116')},
2929
+ '3706615':{'en': u('BIT\u0116')},
2930
+ '3706616':{'en': u('BIT\u0116')},
2931
+ '3706617':{'en': u('BIT\u0116')},
2932
+ '37066180':{'en': u('BIT\u0116')},
2933
+ '37066181':{'en': u('BIT\u0116')},
2934
+ '37066182':{'en': u('BIT\u0116')},
2935
+ '37066183':{'en': u('BIT\u0116')},
2936
+ '37066184':{'en': u('BIT\u0116')},
2937
+ '37066185':{'en': u('BIT\u0116')},
2923
2938
  '37066186':{'en': 'Lancelot Telecom'},
2939
+ '37066187':{'en': u('BIT\u0116')},
2940
+ '37066188':{'en': u('BIT\u0116')},
2941
+ '3706619':{'en': u('BIT\u0116')},
2924
2942
  '370662':{'en': 'Telia'},
2925
2943
  '3706630':{'en': 'Telia'},
2944
+ '37066311':{'en': 'Telia'},
2926
2945
  '37066313':{'en': u('BIT\u0116')},
2927
2946
  '37066314':{'en': u('BIT\u0116')},
2928
2947
  '37066315':{'en': u('BIT\u0116')},
@@ -2930,15 +2949,10 @@ data = {
2930
2949
  '37066317':{'en': u('BIT\u0116')},
2931
2950
  '37066318':{'en': u('BIT\u0116')},
2932
2951
  '37066319':{'en': u('BIT\u0116')},
2952
+ '3706632':{'en': 'Lancelot Telecom'},
2933
2953
  '37066320':{'en': u('BIT\u0116')},
2934
- '37066321':{'en': 'Lancelot Telecom'},
2954
+ '37066322':{'en': 'Telia'},
2935
2955
  '37066323':{'en': u('BIT\u0116')},
2936
- '37066324':{'en': 'Lancelot Telecom'},
2937
- '37066325':{'en': 'Lancelot Telecom'},
2938
- '37066326':{'en': 'Lancelot Telecom'},
2939
- '37066327':{'en': 'Lancelot Telecom'},
2940
- '37066328':{'en': 'Lancelot Telecom'},
2941
- '37066329':{'en': 'Lancelot Telecom'},
2942
2956
  '3706650':{'en': 'Telia'},
2943
2957
  '3706651':{'en': 'Telia'},
2944
2958
  '37066522':{'en': 'Telia'},
@@ -2971,17 +2985,26 @@ data = {
2971
2985
  '3706670':{'en': u('BIT\u0116')},
2972
2986
  '37066711':{'en': u('BIT\u0116')},
2973
2987
  '37066719':{'en': u('BIT\u0116')},
2988
+ '37066722':{'en': 'Tele 2'},
2989
+ '37066723':{'en': 'Tele 2'},
2990
+ '37066724':{'en': 'Tele 2'},
2991
+ '37066725':{'en': 'Tele 2'},
2992
+ '37066726':{'en': 'Tele 2'},
2974
2993
  '37066728':{'en': u('BIT\u0116')},
2975
2994
  '37066729':{'en': u('BIT\u0116')},
2995
+ '3706673':{'en': u('BIT\u0116')},
2996
+ '3706675':{'en': 'Tele 2'},
2976
2997
  '3706676':{'en': u('BIT\u0116')},
2977
2998
  '3706677':{'en': u('BIT\u0116')},
2978
2999
  '3706678':{'en': u('BIT\u0116')},
2979
3000
  '3706679':{'en': u('BIT\u0116')},
2980
3001
  '3706680':{'en': 'Tele 2'},
3002
+ '3706681':{'en': 'Tele 2'},
2981
3003
  '37066839':{'en': 'Tele 2'},
2982
3004
  '37066840':{'en': 'Tele 2'},
2983
3005
  '37066841':{'en': 'Tele 2'},
2984
3006
  '37066842':{'en': 'Tele 2'},
3007
+ '3706685':{'en': 'Tele 2'},
2985
3008
  '37066860':{'en': 'Tele 2'},
2986
3009
  '37066861':{'en': 'Tele 2'},
2987
3010
  '37066862':{'en': 'Tele 2'},
@@ -2990,6 +3013,7 @@ data = {
2990
3013
  '37066865':{'en': 'Tele 2'},
2991
3014
  '37066876':{'en': u('BIT\u0116')},
2992
3015
  '37066877':{'en': u('BIT\u0116')},
3016
+ '3706689':{'en': 'Tele 2'},
2993
3017
  '370669':{'en': 'Telia'},
2994
3018
  '37067':{'en': 'Tele 2'},
2995
3019
  '370680':{'en': 'Telia'},
@@ -3853,12 +3877,8 @@ data = {
3853
3877
  '421952':{'en': '4ka of SWAN'},
3854
3878
  '4219598':{'en': 'Slovak Republic Railways (GSM-R)'},
3855
3879
  '42364':{'en': 'Soracom'},
3880
+ '42365':{'en': 'Cubic'},
3856
3881
  '423650':{'en': 'Telecom Liechtenstein'},
3857
- '423651':{'en': 'Cubic'},
3858
- '423652':{'en': 'Cubic'},
3859
- '423653':{'en': 'Cubic'},
3860
- '423654':{'en': 'Cubic'},
3861
- '423656':{'en': 'Cubic'},
3862
3882
  '423659':{'en': 'Telecom Liechtenstein'},
3863
3883
  '42366':{'en': 'Telecom Liechtenstein'},
3864
3884
  '423661':{'en': 'Dimoco'},
@@ -6742,6 +6762,7 @@ data = {
6742
6762
  '491531':{'en': 'Mtel'},
6743
6763
  '4915510':{'en': 'LEBARA'},
6744
6764
  '4915511':{'en': 'LEBARA'},
6765
+ '491555':{'en': '1&1 Mobilfunk'},
6745
6766
  '491556':{'en': '1&1 Mobilfunk'},
6746
6767
  '4915630':{'en': 'Multiconnect'},
6747
6768
  '4915678':{'en': 'Argon Networks'},
@@ -9998,25 +10019,4 @@ data = {
9998
10019
  '553199939':{'en': 'Telemig Celular'},
9999
10020
  '553199941':{'en': 'Telemig Celular'},
10000
10021
  '553199942':{'en': 'Telemig Celular'},
10001
- '553199943':{'en': 'Telemig Celular'},
10002
- '553199944':{'en': 'Telemig Celular'},
10003
- '553199945':{'en': 'Telemig Celular'},
10004
- '553199946':{'en': 'Telemig Celular'},
10005
- '553199947':{'en': 'Telemig Celular'},
10006
- '553199948':{'en': 'Telemig Celular'},
10007
- '553199949':{'en': 'Telemig Celular'},
10008
- '55319995':{'en': 'Telemig Celular'},
10009
- '55319996':{'en': 'Telemig Celular'},
10010
- '55319997':{'en': 'Telemig Celular'},
10011
- '55319998':{'en': 'Telemig Celular'},
10012
- '55319999':{'en': 'Telemig Celular'},
10013
- '55329840':{'en': 'Claro'},
10014
- '55329841':{'en': 'Claro'},
10015
- '55329842':{'en': 'Claro'},
10016
- '55329843':{'en': 'Claro'},
10017
- '55329844':{'en': 'Claro'},
10018
- '55329845':{'en': 'Claro'},
10019
- '55329846':{'en': 'Claro'},
10020
- '55329847':{'en': 'Claro'},
10021
- '553298480':{'en': 'Claro'},
10022
10022
  }
@@ -19,6 +19,27 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '553199943':{'en': 'Telemig Celular'},
23
+ '553199944':{'en': 'Telemig Celular'},
24
+ '553199945':{'en': 'Telemig Celular'},
25
+ '553199946':{'en': 'Telemig Celular'},
26
+ '553199947':{'en': 'Telemig Celular'},
27
+ '553199948':{'en': 'Telemig Celular'},
28
+ '553199949':{'en': 'Telemig Celular'},
29
+ '55319995':{'en': 'Telemig Celular'},
30
+ '55319996':{'en': 'Telemig Celular'},
31
+ '55319997':{'en': 'Telemig Celular'},
32
+ '55319998':{'en': 'Telemig Celular'},
33
+ '55319999':{'en': 'Telemig Celular'},
34
+ '55329840':{'en': 'Claro'},
35
+ '55329841':{'en': 'Claro'},
36
+ '55329842':{'en': 'Claro'},
37
+ '55329843':{'en': 'Claro'},
38
+ '55329844':{'en': 'Claro'},
39
+ '55329845':{'en': 'Claro'},
40
+ '55329846':{'en': 'Claro'},
41
+ '55329847':{'en': 'Claro'},
42
+ '553298480':{'en': 'Claro'},
22
43
  '553298481':{'en': 'Claro'},
23
44
  '553298482':{'en': 'Claro'},
24
45
  '553298483':{'en': 'Claro'},
@@ -9998,25 +10019,4 @@ data = {
9998
10019
  '573216':{'en': 'Claro'},
9999
10020
  '573217':{'en': 'Claro'},
10000
10021
  '573218':{'en': 'Claro'},
10001
- '573219':{'en': 'Claro'},
10002
- '57322':{'en': 'Claro'},
10003
- '573232':{'en': 'Claro'},
10004
- '573233':{'en': 'Claro'},
10005
- '573234':{'en': 'Claro'},
10006
- '573235':{'en': 'Claro'},
10007
- '573236':{'en': 'Partners Telecom Colombia'},
10008
- '573237':{'en': 'Partners Telecom Colombia'},
10009
- '573238':{'en': 'Partners Telecom Colombia'},
10010
- '573239':{'en': 'Partners Telecom Colombia'},
10011
- '573241':{'en': 'Partners Telecom Colombia'},
10012
- '573242':{'en': 'Tigo'},
10013
- '573243':{'en': 'Tigo'},
10014
- '573244':{'en': 'Tigo'},
10015
- '573245':{'en': 'Tigo'},
10016
- '573246':{'en': 'Tigo'},
10017
- '573247':{'en': 'Partners Telecom Colombia'},
10018
- '573248':{'en': 'Partners Telecom Colombia'},
10019
- '573249':{'en': 'Partners Telecom Colombia'},
10020
- '57330':{'en': 'Movistar'},
10021
- '5733300':{'en': 'Setroc Mobile'},
10022
10022
  }
@@ -19,6 +19,27 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
+ '573219':{'en': 'Claro'},
23
+ '57322':{'en': 'Claro'},
24
+ '573232':{'en': 'Claro'},
25
+ '573233':{'en': 'Claro'},
26
+ '573234':{'en': 'Claro'},
27
+ '573235':{'en': 'Claro'},
28
+ '573236':{'en': 'Partners Telecom Colombia'},
29
+ '573237':{'en': 'Partners Telecom Colombia'},
30
+ '573238':{'en': 'Partners Telecom Colombia'},
31
+ '573239':{'en': 'Partners Telecom Colombia'},
32
+ '573241':{'en': 'Partners Telecom Colombia'},
33
+ '573242':{'en': 'Tigo'},
34
+ '573243':{'en': 'Tigo'},
35
+ '573244':{'en': 'Tigo'},
36
+ '573245':{'en': 'Tigo'},
37
+ '573246':{'en': 'Tigo'},
38
+ '573247':{'en': 'Partners Telecom Colombia'},
39
+ '573248':{'en': 'Partners Telecom Colombia'},
40
+ '573249':{'en': 'Partners Telecom Colombia'},
41
+ '57330':{'en': 'Movistar'},
42
+ '5733300':{'en': 'Setroc Mobile'},
22
43
  '5733301':{'en': 'Setroc Mobile'},
23
44
  '5733302':{'en': 'Setroc Mobile'},
24
45
  '5733303':{'en': 'Setroc Mobile'},
@@ -71,6 +92,7 @@ data = {
71
92
  '573508':{'en': 'Avantel'},
72
93
  '57351':{'en': 'Avantel'},
73
94
  '5791':{'en': 'Movistar'},
95
+ '5794':{'en': 'Hablame'},
74
96
  '58412':{'en': 'Digitel GSM'},
75
97
  '58414':{'en': 'movistar'},
76
98
  '58416':{'en': 'Movilnet'},
@@ -358,10 +380,15 @@ data = {
358
380
  '59775':{'en': 'Telesur'},
359
381
  '59776':{'en': 'Digicel'},
360
382
  '59777':{'en': 'Telesur'},
361
- '5978':{'en': 'Telesur'},
362
383
  '59781':{'en': 'Digicel'},
363
384
  '59782':{'en': 'Digicel'},
364
385
  '59783':{'en': 'Digicel'},
386
+ '59784':{'en': 'Telesur'},
387
+ '59785':{'en': 'Telesur'},
388
+ '59786':{'en': 'Telesur'},
389
+ '59787':{'en': 'Telesur'},
390
+ '59788':{'en': 'Telesur'},
391
+ '59789':{'en': 'Telesur'},
365
392
  '59891':{'en': 'Antel'},
366
393
  '59892':{'en': 'Antel'},
367
394
  '59893':{'en': 'Movistar'},
@@ -834,8 +861,9 @@ data = {
834
861
  '614838':{'en': 'Telstra'},
835
862
  '614839':{'en': 'Optus'},
836
863
  '61484':{'en': 'Telstra'},
837
- '61485':{'en': 'TravelSIM'},
864
+ '61485':{'en': 'Optus'},
838
865
  '614858':{'en': 'Pivotel Satellite'},
866
+ '614859':{'en': 'TravelSIM'},
839
867
  '61486':{'en': 'Telstra'},
840
868
  '61487':{'en': 'Telstra'},
841
869
  '61488':{'en': 'Telstra'},
@@ -1366,7 +1394,8 @@ data = {
1366
1394
  '658963':{'en': 'SingTel'},
1367
1395
  '658964':{'en': 'SingTel'},
1368
1396
  '658965':{'en': 'SingTel'},
1369
- '65897':{'en': 'Simba'},
1397
+ '658970':{'en': 'Simba'},
1398
+ '658971':{'en': 'Circle.Life'},
1370
1399
  '659001':{'en': 'StarHub'},
1371
1400
  '659002':{'en': 'StarHub'},
1372
1401
  '659003':{'en': 'StarHub'},
@@ -3454,11 +3483,13 @@ data = {
3454
3483
  '817076':{'en': 'KDDI'},
3455
3484
  '817077':{'en': 'KDDI'},
3456
3485
  '817080':{'en': 'NTT Docomo'},
3457
- '817081':{'en': 'NTT Docomo'},
3458
- '8170820':{'en': 'NTT Docomo'},
3459
- '8170821':{'en': 'NTT Docomo'},
3460
- '8170822':{'en': 'NTT Docomo'},
3461
- '8170823':{'en': 'NTT Docomo'},
3486
+ '8170810':{'en': 'NTT Docomo'},
3487
+ '8170811':{'en': 'NTT Docomo'},
3488
+ '8170812':{'en': 'NTT Docomo'},
3489
+ '8170817':{'en': 'KDDI'},
3490
+ '8170818':{'en': 'KDDI'},
3491
+ '8170819':{'en': 'KDDI'},
3492
+ '817082':{'en': 'KDDI'},
3462
3493
  '817083':{'en': 'Rakuten Communications'},
3463
3494
  '817084':{'en': 'Rakuten Communications'},
3464
3495
  '817085':{'en': 'Rakuten Communications'},
@@ -3802,6 +3833,8 @@ data = {
3802
3833
  '8524740':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')},
3803
3834
  '8524741':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')},
3804
3835
  '8524742':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')},
3836
+ '8524743':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')},
3837
+ '8524744':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')},
3805
3838
  '8524748':{'en': 'China Telecom Global Limited', 'zh': ''},
3806
3839
  '852475':{'en': 'Hutchison Telecom', 'zh': u('\u548c\u8a18\u96fb\u8a71\u6709\u9650\u516c\u53f8')},
3807
3840
  '852476':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')},
@@ -3993,7 +4026,12 @@ data = {
3993
4026
  '852663':{'en': 'China Unicom', 'zh': u('\u4e2d\u56fd\u8054\u901a'), 'zh_Hant': u('\u4e2d\u570b\u806f\u901a')},
3994
4027
  '852664':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8'), 'zh_Hant': u('\u4e2d\u570b\u79fb\u52d5')},
3995
4028
  '852665':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf'), 'zh_Hant': u('\u9999\u6e2f\u79fb\u52d5\u901a\u8a0a')},
3996
- '852666':{'en': 'China Unicom', 'zh': u('\u4e2d\u56fd\u8054\u901a')},
4029
+ '8526660':{'en': 'China Unicom', 'zh': u('\u4e2d\u56fd\u8054\u901a')},
4030
+ '8526661':{'en': 'China Unicom', 'zh': u('\u4e2d\u56fd\u8054\u901a')},
4031
+ '8526662':{'en': 'China Unicom', 'zh': u('\u4e2d\u56fd\u8054\u901a')},
4032
+ '8526663':{'en': 'China Unicom', 'zh': u('\u4e2d\u56fd\u8054\u901a')},
4033
+ '8526664':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')},
4034
+ '8526665':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')},
3997
4035
  '852667':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8'), 'zh_Hant': u('\u4e2d\u570b\u79fb\u52d5')},
3998
4036
  '852668':{'en': '3', 'zh': '3', 'zh_Hant': '3'},
3999
4037
  '852669':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf'), 'zh_Hant': u('\u9999\u6e2f\u79fb\u52d5\u901a\u8a0a')},
@@ -4469,6 +4507,9 @@ data = {
4469
4507
  '856209':{'en': 'Unitel'},
4470
4508
  '856302':{'en': 'ETL'},
4471
4509
  '856304':{'en': 'Unitel'},
4510
+ '856305':{'en': 'Lao Telecom'},
4511
+ '856307':{'en': 'Lao Telecom'},
4512
+ '856309':{'en': 'Unitel'},
4472
4513
  '86130':{'en': 'China Unicom', 'zh': u('\u4e2d\u56fd\u8054\u901a'), 'zh_Hant': u('\u4e2d\u570b\u806f\u901a')},
4473
4514
  '86131':{'en': 'China Unicom', 'zh': u('\u4e2d\u56fd\u8054\u901a'), 'zh_Hant': u('\u4e2d\u570b\u806f\u901a')},
4474
4515
  '86132':{'en': 'China Unicom', 'zh': u('\u4e2d\u56fd\u8054\u901a'), 'zh_Hant': u('\u4e2d\u570b\u806f\u901a')},
@@ -8370,6 +8411,7 @@ data = {
8370
8411
  '98990':{'en': 'IR-MCI', 'fa': u('\u0647\u0645\u0631\u0627\u0647 \u0627\u0648\u0644')},
8371
8412
  '98991':{'en': 'IR-MCI', 'fa': u('\u0647\u0645\u0631\u0627\u0647 \u0627\u0648\u0644')},
8372
8413
  '98994':{'en': 'IR-MCI', 'fa': u('\u0647\u0645\u0631\u0627\u0647 \u0627\u0648\u0644')},
8414
+ '989955':{'en': 'Irancell', 'fa': u('\u0627\u06cc\u0631\u0627\u0646\u0633\u0644')},
8373
8415
  '98996':{'en': 'IR-MCI', 'fa': u('\u0647\u0645\u0631\u0627\u0647 \u0627\u0648\u0644')},
8374
8416
  '989981':{'en': 'Shatel Mobile', 'fa': u('\u0634\u0627\u062a\u0644 \u0645\u0648\u0628\u0627\u06cc\u0644')},
8375
8417
  '989982':{'en': 'Shatel Mobile', 'fa': u('\u0634\u0627\u062a\u0644 \u0645\u0648\u0628\u0627\u06cc\u0644')},
@@ -4,5 +4,5 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_BI = PhoneMetadata(id='BI', country_code=257, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:[267]\\d|31)\\d{6}', possible_length=(8,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:22|31)\\d{6}', example_number='22201234', possible_length=(8,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='64[0-2]\\d{5}|(?:29|[67][125-9])\\d{6}', example_number='79561234', possible_length=(8,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:29|6[124-9]|7[125-9])\\d{6}', example_number='79561234', 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=['[2367]'])])
@@ -3,8 +3,8 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_CA = PhoneMetadata(id='CA', country_code=1, international_prefix='011',
5
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,)),
6
+ fixed_line=PhoneNumberDesc(national_number_pattern='(?:2(?:04|[23]6|[48]9|5[07]|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|5[07]|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
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(?:2[125-9]|33|44|66|77|88)|6(?:22|33))[2-9]\\d{6}', example_number='5219023456', possible_length=(10,)),
@@ -3,18 +3,18 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_CO = PhoneMetadata(id='CO', country_code=57, international_prefix='00(?:4(?:[14]4|56)|[579])',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}', possible_length=(8, 10, 11), possible_length_local_only=(4, 7)),
6
- fixed_line=PhoneNumberDesc(national_number_pattern='601055(?:[0-4]\\d|50)\\d\\d|6010(?:[0-4]\\d|5[0-4])\\d{4}|(?:46|60(?:[124-7][2-9]|8[1-9]))\\d{6}', example_number='6012345678', possible_length=(8, 10), possible_length_local_only=(4, 7)),
7
- mobile=PhoneNumberDesc(national_number_pattern='333301[0-5]\\d{3}|3333(?:00|2[5-9]|[3-9]\\d)\\d{4}|(?:3(?:24[1-9]|3(?:00|3[0-24-9]))|9101)\\d{6}|3(?:0[0-5]|1\\d|2[0-3]|5[01]|70)\\d{7}', example_number='3211234567', possible_length=(10,)),
6
+ fixed_line=PhoneNumberDesc(national_number_pattern='601055(?:[0-4]\\d|50)\\d\\d|6010(?:[0-4]\\d|5[0-4])\\d{4}|(?:46|60(?:[18][1-9]|[24-7][2-9]))\\d{6}', example_number='6012345678', possible_length=(8, 10), possible_length_local_only=(4, 7)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='333301[0-5]\\d{3}|3333(?:00|2[5-9]|[3-9]\\d)\\d{4}|(?:3(?:(?:0[0-5]|1\\d|5[01]|70)\\d|2(?:[0-3]\\d|4[1-9])|3(?:00|3[0-24-9]))|9(?:101|408))\\d{6}', example_number='3211234567', possible_length=(10,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='1800\\d{7}', example_number='18001234567', possible_length=(11,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='(?:19(?:0[01]|4[78])|901)\\d{7}', example_number='19001234567', possible_length=(10, 11)),
10
10
  national_prefix='0',
11
11
  national_prefix_for_parsing='0([3579]|4(?:[14]4|56))?',
12
12
  number_format=[NumberFormat(pattern='(\\d{4})(\\d{4})', format='\\1 \\2', leading_digits_pattern=['46']),
13
13
  NumberFormat(pattern='(\\d{3})(\\d{7})', format='\\1 \\2', leading_digits_pattern=['6|90'], national_prefix_formatting_rule='(\\1)', domestic_carrier_code_formatting_rule='0$CC \\1'),
14
- NumberFormat(pattern='(\\d{3})(\\d{7})', format='\\1 \\2', leading_digits_pattern=['3[0-357]|91'], domestic_carrier_code_formatting_rule='0$CC \\1'),
14
+ NumberFormat(pattern='(\\d{3})(\\d{7})', format='\\1 \\2', leading_digits_pattern=['3[0-357]|9[14]'], domestic_carrier_code_formatting_rule='0$CC \\1'),
15
15
  NumberFormat(pattern='(\\d)(\\d{3})(\\d{7})', format='\\1-\\2-\\3', leading_digits_pattern=['1'], national_prefix_formatting_rule='0\\1')],
16
16
  intl_number_format=[NumberFormat(pattern='(\\d{4})(\\d{4})', format='\\1 \\2', leading_digits_pattern=['46']),
17
17
  NumberFormat(pattern='(\\d{3})(\\d{7})', format='\\1 \\2', leading_digits_pattern=['6|90']),
18
- NumberFormat(pattern='(\\d{3})(\\d{7})', format='\\1 \\2', leading_digits_pattern=['3[0-357]|91']),
18
+ NumberFormat(pattern='(\\d{3})(\\d{7})', format='\\1 \\2', leading_digits_pattern=['3[0-357]|9[14]']),
19
19
  NumberFormat(pattern='(\\d)(\\d{3})(\\d{7})', format='\\1 \\2 \\3', leading_digits_pattern=['1'])],
20
20
  mobile_number_portable_region=True)
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_EH = PhoneMetadata(id='EH', country_code=212, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[5-8]\\d{8}', possible_length=(9,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='528[89]\\d{5}', example_number='528812345', possible_length=(9,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-467]|5[0-3]|8[0-5]))\\d{6}', example_number='650123456', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-467]|5[0-3]|8[0-7]))\\d{6}', example_number='650123456', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='80[0-7]\\d{6}', example_number='801234567', possible_length=(9,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='89\\d{7}', example_number='891234567', possible_length=(9,)),
10
10
  voip=PhoneNumberDesc(national_number_pattern='(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}', example_number='592401234', possible_length=(9,)),
@@ -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-35-9]|6(?:1[0-79]|4[0-57-9]|6[0-4])|7(?:[26][0-5]|4[0-28]))|5(?:73[0-6]|95[0-8])|6(?:26[013-8]|66[0-3]|78[0-5])|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[015])|5(?:[1-59][0-46-9]|6[0-4689]|7[0-246-9])|6(?:0[1-9]|[13-59]\\d|[268][0-57-9]|7[0-79])|70[1-59]|84[0-39]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\d))\\d{5}', example_number='51234567', possible_length=(8,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:4(?:44[0-35-9]|6(?:1[0-79]|4[0-57-9]|6[0-4])|7(?:[26][0-5]|4[0-48]))|5(?:73[0-6]|95[0-8])|6(?:26[013-8]|(?:66|78)[0-5])|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[015])|5(?:[1-59][0-46-9]|6[0-4689]|7[0-246-9])|6(?:0[1-9]|[13-59]\\d|[268][0-57-9]|7[0-79])|70[1-59]|84[0-39]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\d))\\d{5}', example_number='51234567', possible_length=(8,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='800\\d{6}', example_number='800123456', possible_length=(9,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='900(?:[0-24-9]\\d{7}|3\\d{1,4})', example_number='90012345678', possible_length=(5, 6, 7, 8, 11)),
10
10
  personal_number=PhoneNumberDesc(national_number_pattern='8(?:1[0-4679]\\d|2(?:[0-36]\\d|7[0-4])|3(?:[034]\\d|2[09]|70))\\d{4}', example_number='81123456', possible_length=(8,)),
@@ -8,7 +8,7 @@ PHONE_METADATA_IL = PhoneMetadata(id='IL', country_code=972, international_prefi
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,)),
11
- voip=PhoneNumberDesc(national_number_pattern='7(?:38(?:0\\d|5[0-3569]|88)|8(?:33|55|77|81)\\d)\\d{4}|7(?:18|2[23]|3[237]|47|6[258]|7\\d|82|9[2-9])\\d{6}', example_number='771234567', possible_length=(9,)),
11
+ voip=PhoneNumberDesc(national_number_pattern='7(?:38(?:[05]\\d|8[08])|8(?:33|55|77|81)\\d)\\d{4}|7(?:18|2[23]|3[237]|47|6[258]|7\\d|82|9[2-9])\\d{6}', example_number='771234567', possible_length=(9,)),
12
12
  uan=PhoneNumberDesc(national_number_pattern='1599\\d{6}', example_number='1599123456', possible_length=(10,)),
13
13
  voicemail=PhoneNumberDesc(national_number_pattern='151\\d{8,9}', example_number='15112340000', possible_length=(11, 12)),
14
14
  no_international_dialling=PhoneNumberDesc(national_number_pattern='1700\\d{6}', possible_length=(10,)),
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_IR = PhoneMetadata(id='IR', country_code=98, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}', possible_length=(4, 5, 6, 7, 10), possible_length_local_only=(8,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])(?:[03-57]\\d{7}|[16]\\d{3}(?:\\d{4})?|[289]\\d{3}(?:\\d(?:\\d{3})?)?)|94(?:000[09]|(?:12\\d|30[0-2])\\d|2(?:121|[2689]0\\d)|4(?:111|40\\d))\\d{4}', example_number='2123456789', possible_length=(6, 7, 10), possible_length_local_only=(4, 5, 8)),
7
- mobile=PhoneNumberDesc(national_number_pattern='9(?:(?:0(?:[0-35]\\d|4[4-6])|(?:[13]\\d|2[0-3])\\d)\\d|9(?:[0-46]\\d\\d|5[15]0|8(?:[12]\\d|88)|9(?:0[0-3]|[19]\\d|21|69|77|8[7-9])))\\d{5}', example_number='9123456789', possible_length=(10,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='9(?:(?:0[0-5]|[13]\\d|2[0-3])\\d\\d|9(?:[0-46]\\d\\d|5(?:10|5\\d)|8(?:[12]\\d|88)|9(?:0[0-3]|[19]\\d|21|69|77|8[7-9])))\\d{5}', example_number='9123456789', possible_length=(10,)),
8
8
  uan=PhoneNumberDesc(national_number_pattern='96(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19])', example_number='9601', possible_length=(4, 5)),
9
9
  no_international_dialling=PhoneNumberDesc(national_number_pattern='9(?:4440\\d{5}|6(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19]))', possible_length=(4, 5, 10)),
10
10
  national_prefix='0',
@@ -4,10 +4,9 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_LA = PhoneMetadata(id='LA', country_code=856, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}', possible_length=(8, 9, 10), possible_length_local_only=(6,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:2[13]|[35-7][14]|41|8[1468])\\d{6}', example_number='21212862', possible_length=(8,), possible_length_local_only=(6,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='208[78]\\d{6}|(?:20[23579]|30[24])\\d{7}', example_number='2023123456', possible_length=(10,)),
8
- uan=PhoneNumberDesc(national_number_pattern='30[0135-9]\\d{6}', example_number='301234567', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:20(?:[23579]\\d|8[78])|30[24]\\d)\\d{6}|30\\d{7}', example_number='2023123456', possible_length=(9, 10)),
9
8
  national_prefix='0',
10
9
  national_prefix_for_parsing='0',
11
10
  number_format=[NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['2[13]|3[14]|[4-8]'], national_prefix_formatting_rule='0\\1'),
12
- NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{3})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['30[0135-9]'], national_prefix_formatting_rule='0\\1'),
11
+ NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{3})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['3'], national_prefix_formatting_rule='0\\1'),
13
12
  NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{3})(\\d{3})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['[23]'], national_prefix_formatting_rule='0\\1')])
@@ -3,8 +3,8 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
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
- fixed_line=PhoneNumberDesc(national_number_pattern='(?:2(?:01|1[27]|2[02]|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-469])\\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)),
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)),
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,9 +2,9 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_LR = PhoneMetadata(id='LR', country_code=231, international_prefix='00',
5
- general_desc=PhoneNumberDesc(national_number_pattern='(?:[245]\\d|33|77|88)\\d{7}|(?:2\\d|[4-6])\\d{6}', possible_length=(7, 8, 9)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='(?:[2457]\\d|33|88)\\d{7}|(?:2\\d|[4-6])\\d{6}', possible_length=(7, 8, 9)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='2\\d{7}', example_number='21234567', possible_length=(8,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:(?:(?:22|33)0|555|(?:77|88)\\d)\\d|4(?:240|[67]))\\d{5}|[56]\\d{6}', example_number='770123456', possible_length=(7, 9)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:(?:(?:22|33)0|555|7(?:6[01]|7\\d)|88\\d)\\d|4(?:240|[67]))\\d{5}|[56]\\d{6}', example_number='770123456', possible_length=(7, 9)),
8
8
  premium_rate=PhoneNumberDesc(national_number_pattern='332(?:02|[34]\\d)\\d{4}', example_number='332021234', possible_length=(9,)),
9
9
  national_prefix='0',
10
10
  national_prefix_for_parsing='0',
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_MA = PhoneMetadata(id='MA', country_code=212, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[5-8]\\d{8}', possible_length=(9,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='5(?:2(?:[0-25-79]\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}', example_number='520123456', possible_length=(9,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-467]|5[0-3]|8[0-5]))\\d{6}', example_number='650123456', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-467]|5[0-3]|8[0-7]))\\d{6}', example_number='650123456', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='80[0-7]\\d{6}', example_number='801234567', possible_length=(9,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='89\\d{7}', example_number='891234567', possible_length=(9,)),
10
10
  voip=PhoneNumberDesc(national_number_pattern='(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}', example_number='592401234', possible_length=(9,)),
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_ML = PhoneMetadata(id='ML', country_code=223, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[24-9]\\d{7}', possible_length=(8,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='2(?:07[0-8]|12[67])\\d{4}|(?:2(?:02|1[4-689])|4(?:0[0-4]|4[1-59]))\\d{5}', example_number='20212345', possible_length=(8,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='2(?:0(?:01|79)|17\\d)\\d{4}|(?:5[01]|[679]\\d|8[2-59])\\d{6}', example_number='65012345', possible_length=(8,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='2(?:0(?:01|79)|17\\d)\\d{4}|(?:5[0-3]|[679]\\d|8[2-59])\\d{6}', example_number='65012345', possible_length=(8,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='80\\d{6}', example_number='80012345', possible_length=(8,)),
9
9
  no_international_dialling=PhoneNumberDesc(national_number_pattern='80\\d{6}', possible_length=(8,)),
10
10
  number_format=[NumberFormat(pattern='(\\d{4})', format='\\1', leading_digits_pattern=['67[057-9]|74[045]', '67(?:0[09]|[59]9|77|8[89])|74(?:0[02]|44|55)']),
@@ -3,7 +3,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_MY = PhoneMetadata(id='MY', country_code=60, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='1\\d{8,9}|(?:3\\d|[4-9])\\d{7}', possible_length=(8, 9, 10), possible_length_local_only=(6, 7)),
6
- fixed_line=PhoneNumberDesc(national_number_pattern='4270\\d{4}|(?:3(?:2[0-36-9]|3[0-368]|4[0-278]|5[0-24-8]|6[0-467]|7[1246-9]|8\\d|9[0-57])\\d|4(?:2[0-689]|[3-79]\\d|8[1-35689])|5(?:2[0-589]|[3468]\\d|5[0-489]|7[1-9]|9[23])|6(?:2[2-9]|3[1357-9]|[46]\\d|5[0-6]|7[0-35-9]|85|9[015-8])|7(?:[2579]\\d|3[03-68]|4[0-8]|6[5-9]|8[0-35-9])|8(?:[24][2-8]|3[2-5]|5[2-7]|6[2-589]|7[2-578]|[89][2-9])|9(?:0[57]|13|[25-7]\\d|[3489][0-8]))\\d{5}', example_number='323856789', possible_length=(8, 9), possible_length_local_only=(6, 7)),
6
+ fixed_line=PhoneNumberDesc(national_number_pattern='427[01]\\d{4}|(?:3(?:2[0-36-9]|3[0-368]|4[0-278]|5[0-24-8]|6[0-467]|7[1246-9]|8\\d|9[0-57])\\d|4(?:2[0-689]|[3-79]\\d|8[1-35689])|5(?:2[0-589]|[3468]\\d|5[0-489]|7[1-9]|9[23])|6(?:2[2-9]|3[1357-9]|[46]\\d|5[0-6]|7[0-35-9]|85|9[015-8])|7(?:[2579]\\d|3[03-68]|4[0-8]|6[5-9]|8[0-35-9])|8(?:[24][2-8]|3[2-5]|5[2-7]|6[2-589]|7[2-578]|[89][2-9])|9(?:0[57]|13|[25-7]\\d|[3489][0-8]))\\d{5}', example_number='323856789', possible_length=(8, 9), possible_length_local_only=(6, 7)),
7
7
  mobile=PhoneNumberDesc(national_number_pattern='1(?:1888[689]|4400|8(?:47|8[27])[0-4])\\d{4}|1(?:0(?:[23568]\\d|4[0-6]|7[016-9]|9[0-8])|1(?:[1-5]\\d\\d|6(?:0[5-9]|[1-9]\\d)|7(?:[0-4]\\d|5[0-7]))|(?:[269]\\d|[37][1-9]|4[235-9])\\d|5(?:31|9\\d\\d)|8(?:1[23]|[236]\\d|4[06]|5(?:46|[7-9])|7[016-9]|8[01]|9[0-8]))\\d{5}', example_number='123456789', possible_length=(9, 10)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='1[378]00\\d{6}', example_number='1300123456', possible_length=(10,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='1600\\d{6}', example_number='1600123456', possible_length=(10,)),
@@ -6,7 +6,7 @@ PHONE_METADATA_QA = PhoneMetadata(id='QA', country_code=974, international_prefi
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='4(?:1111|2022)\\d{3}|4(?:[04]\\d\\d|14[0-6]|999)\\d{4}', example_number='44123456', possible_length=(8,)),
7
7
  mobile=PhoneNumberDesc(national_number_pattern='[35-7]\\d{7}', example_number='33123456', possible_length=(8,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='800\\d{4}|(?:0080[01]|800)\\d{6}', example_number='8001234', possible_length=(7, 9, 11)),
9
- pager=PhoneNumberDesc(national_number_pattern='2[16]\\d{5}', example_number='2123456', possible_length=(7,)),
10
- number_format=[NumberFormat(pattern='(\\d{3})(\\d{4})', format='\\1 \\2', leading_digits_pattern=['2[16]|8']),
9
+ pager=PhoneNumberDesc(national_number_pattern='2[136]\\d{5}', example_number='2123456', possible_length=(7,)),
10
+ number_format=[NumberFormat(pattern='(\\d{3})(\\d{4})', format='\\1 \\2', leading_digits_pattern=['2[136]|8']),
11
11
  NumberFormat(pattern='(\\d{4})(\\d{4})', format='\\1 \\2', leading_digits_pattern=['[3-7]'])],
12
12
  mobile_number_portable_region=True)
@@ -2,18 +2,16 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_SA = PhoneMetadata(id='SA', country_code=966, international_prefix='00',
5
- general_desc=PhoneNumberDesc(national_number_pattern='92\\d{7}|(?:[15]|8\\d)\\d{8}', possible_length=(9, 10), possible_length_local_only=(7,)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='(?:[15]\\d|800|92)\\d{7}', possible_length=(9, 10), possible_length_local_only=(7,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='1(?:1\\d|2[24-8]|3[35-8]|4[3-68]|6[2-5]|7[235-7])\\d{6}', example_number='112345678', possible_length=(9,), possible_length_local_only=(7,)),
7
7
  mobile=PhoneNumberDesc(national_number_pattern='579[01]\\d{5}|5(?:[013-689]\\d|7[0-8])\\d{6}', example_number='512345678', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='800\\d{7}', example_number='8001234567', possible_length=(10,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='925\\d{6}', example_number='925012345', possible_length=(9,)),
10
10
  shared_cost=PhoneNumberDesc(national_number_pattern='920\\d{6}', example_number='920012345', possible_length=(9,)),
11
- uan=PhoneNumberDesc(national_number_pattern='811\\d{7}', example_number='8110123456', possible_length=(10,)),
12
11
  national_prefix='0',
13
12
  national_prefix_for_parsing='0',
14
13
  number_format=[NumberFormat(pattern='(\\d{4})(\\d{5})', format='\\1 \\2', leading_digits_pattern=['9']),
15
14
  NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['1'], national_prefix_formatting_rule='0\\1'),
16
15
  NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['5'], national_prefix_formatting_rule='0\\1'),
17
- NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{3,4})', format='\\1 \\2 \\3', leading_digits_pattern=['81'], national_prefix_formatting_rule='0\\1'),
18
16
  NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['8'])],
19
17
  mobile_number_portable_region=True)
@@ -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='8970\\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='897[01]\\d{4}|(?:8(?:0[1-9]|[1-8]\\d|9[0-6])|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,10 +2,12 @@
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)\\d{5}', possible_length=(6, 7)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='(?:[2-5]|68|[78]\\d|90)\\d{5}', possible_length=(6, 7)),
6
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
7
  mobile=PhoneNumberDesc(national_number_pattern='(?:7[124-7]|8[1-9])\\d{5}', example_number='7412345', possible_length=(7,)),
8
+ toll_free=PhoneNumberDesc(national_number_pattern='80\\d{5}', example_number='8012345', possible_length=(7,)),
9
+ premium_rate=PhoneNumberDesc(national_number_pattern='90\\d{5}', example_number='9012345', possible_length=(7,)),
8
10
  voip=PhoneNumberDesc(national_number_pattern='56\\d{4}', example_number='561234', possible_length=(6,)),
9
11
  number_format=[NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})', format='\\1-\\2-\\3', leading_digits_pattern=['56']),
10
12
  NumberFormat(pattern='(\\d{3})(\\d{3})', format='\\1-\\2', leading_digits_pattern=['[2-5]']),
11
- NumberFormat(pattern='(\\d{3})(\\d{4})', format='\\1-\\2', leading_digits_pattern=['[6-8]'])])
13
+ NumberFormat(pattern='(\\d{3})(\\d{4})', format='\\1-\\2', leading_digits_pattern=['[6-9]'])])
@@ -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-468]))\\d{4}|(?:2742|305[3-9]|472[247-9]|505[2-57-9]|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[0-247]|4[037]|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-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[0-468]))\\d{4}|(?:2742|305[3-9]|472[247-9]|505[2-57-9]|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[0-247]|4[037]|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-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[0-68]))\\d{4}|(?:2742|305[3-9]|472[247-9]|505[2-57-9]|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[0-247]|4[037]|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-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[0-68]))\\d{4}|(?:2742|305[3-9]|472[247-9]|505[2-57-9]|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[0-247]|4[037]|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-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,)),