diff --git a/python/phonenumbers/carrierdata/data0.py b/python/phonenumbers/carrierdata/data0.py index 9324cccb..52a02241 100644 --- a/python/phonenumbers/carrierdata/data0.py +++ b/python/phonenumbers/carrierdata/data0.py @@ -1135,7 +1135,7 @@ '237685':{'en': 'NEXTTEL'}, '237686':{'en': 'Orange'}, '237687':{'en': 'Orange'}, - '237688':{'en': 'NEXTTEL'}, + '237688':{'en': 'Orange'}, '237689':{'en': 'NEXTTEL'}, '23769':{'en': 'Orange'}, '23836':{'en': 'CVMOVEL'}, diff --git a/python/phonenumbers/carrierdata/data2.py b/python/phonenumbers/carrierdata/data2.py index d87bb6f0..08ec2972 100644 --- a/python/phonenumbers/carrierdata/data2.py +++ b/python/phonenumbers/carrierdata/data2.py @@ -458,43 +458,23 @@ '59069135':{'en': 'Orange'}, '590694':{'en': 'Digicel'}, '590696':{'en': 'Digicel'}, - '59170':{'en': 'Nuevatel'}, - '591710':{'en': 'Entel'}, - '591711':{'en': 'Entel'}, - '591712':{'en': 'Entel'}, - '591714':{'en': 'Entel'}, - '591715':{'en': 'Entel'}, - '591716':{'en': 'Entel'}, - '591717':{'en': 'Entel'}, - '591718':{'en': 'Entel'}, - '591719':{'en': 'Entel'}, - '59172':{'en': 'Entel'}, - '591730':{'en': 'Entel'}, - '591731':{'en': 'Entel'}, - '591732':{'en': 'Entel'}, - '591733':{'en': 'Entel'}, - '5917342':{'en': 'Entel'}, - '5917343':{'en': 'Entel'}, - '5917344':{'en': 'Entel'}, - '5917346':{'en': 'Entel'}, - '5917347':{'en': 'Entel'}, - '5917348':{'en': 'Entel'}, - '5917349':{'en': 'Entel'}, - '5917353':{'en': 'Entel'}, - '591736':{'en': 'Entel'}, - '5917370':{'en': 'Entel'}, - '5917371':{'en': 'Entel'}, - '5917372':{'en': 'Entel'}, - '5917373':{'en': 'Entel'}, - '5917374':{'en': 'Entel'}, - '5917375':{'en': 'Entel'}, - '5917377':{'en': 'Entel'}, - '591738':{'en': 'Entel'}, + '5916':{'en': 'Tigo'}, + '5917':{'en': 'Tigo'}, '59174':{'en': 'Entel'}, - '59175':{'en': 'Tigo'}, - '59176':{'en': 'Tigo'}, - '59177':{'en': 'Tigo'}, - '59179':{'en': 'Nuevatel'}, + '5917419':{'en': 'Nuevatel'}, + '5917429':{'en': 'Nuevatel'}, + '5917438':{'en': 'Nuevatel'}, + '5917439':{'en': 'Nuevatel'}, + '5917449':{'en': 'Nuevatel'}, + '5917459':{'en': 'Nuevatel'}, + '5917474':{'en': 'Nuevatel'}, + '5917479':{'en': 'Nuevatel'}, + '5917487':{'en': 'Nuevatel'}, + '5917488':{'en': 'Nuevatel'}, + '5917489':{'en': 'Nuevatel'}, + '5917497':{'en': 'Nuevatel'}, + '5917498':{'en': 'Nuevatel'}, + '5917499':{'en': 'Nuevatel'}, '592510':{'en': 'Digicel Guyana'}, '592600':{'en': 'Digicel Guyana'}, '592601':{'en': 'Digicel Guyana'}, @@ -542,6 +522,7 @@ '592726':{'en': 'GTT'}, '592727':{'en': 'GTT'}, '592728':{'en': 'GTT'}, + '592729':{'en': 'GTT'}, '59273':{'en': 'E-Networks'}, '59274':{'en': 'Digicel Guyana'}, '592740':{'en': 'E-Networks'}, @@ -1177,6 +1158,10 @@ '61487':{'en': 'Telstra'}, '61488':{'en': 'Telstra'}, '614888':{'en': 'My Number'}, + '614890':{'en': 'Optus'}, + '614891':{'en': 'Optus'}, + '614892':{'en': 'Optus'}, + '614893':{'en': 'Optus'}, '6148984':{'en': 'Victorian Rail Track'}, '6148985':{'en': 'MessageBird'}, '614899':{'en': 'Pivotel Satellite'}, @@ -1363,6 +1348,7 @@ '658094':{'en': 'M1'}, '658095':{'en': 'SingTel'}, '658096':{'en': 'Simba'}, + '658098':{'en': 'Simba'}, '6581':{'en': 'StarHub'}, '65810':{'en': 'M1'}, '65812':{'en': 'SingTel'}, @@ -8703,6 +8689,14 @@ '99217':{'en': 'Babilon-M'}, '9922':{'en': 'O-Mobile'}, '99230':{'en': 'O-Mobile'}, + '992330':{'en': 'ZET-MOBILE'}, + '992333':{'en': 'ZET-MOBILE'}, + '992334':{'en': 'ZET-MOBILE'}, + '992335':{'en': 'ZET-MOBILE'}, + '992336':{'en': 'ZET-MOBILE'}, + '992337':{'en': 'ZET-MOBILE'}, + '992338':{'en': 'ZET-MOBILE'}, + '992339':{'en': 'ZET-MOBILE'}, '99240':{'en': 'ZET-MOBILE'}, '99241':{'en': 'Megafon'}, '992440':{'en': 'ZET-MOBILE'}, diff --git a/python/phonenumbers/data/region_BO.py b/python/phonenumbers/data/region_BO.py index 5ed2c8ec..0691540b 100644 --- a/python/phonenumbers/data/region_BO.py +++ b/python/phonenumbers/data/region_BO.py @@ -2,13 +2,14 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata PHONE_METADATA_BO = PhoneMetadata(id='BO', country_code=591, international_prefix='00(?:1\\d)?', - general_desc=PhoneNumberDesc(national_number_pattern='(?:[2-467]\\d\\d|8001)\\d{5}', possible_length=(8, 9), possible_length_local_only=(7,)), + general_desc=PhoneNumberDesc(national_number_pattern='8001\\d{5}|(?:[2-467]\\d|50)\\d{6}', possible_length=(8, 9), possible_length_local_only=(7,)), fixed_line=PhoneNumberDesc(national_number_pattern='(?:2(?:2\\d\\d|5(?:11|[258]\\d|9[67])|6(?:12|2\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\d\\d|4(?:6\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:[27]\\d|3[2-4]|4[248]|5[24]|6[2-6]))|4(?:4\\d\\d|6(?:11|[24689]\\d|72)))\\d{4}', example_number='22123456', possible_length=(8,), possible_length_local_only=(7,)), mobile=PhoneNumberDesc(national_number_pattern='[67]\\d{7}', example_number='71234567', possible_length=(8,)), toll_free=PhoneNumberDesc(national_number_pattern='8001[07]\\d{4}', example_number='800171234', possible_length=(9,)), + voip=PhoneNumberDesc(national_number_pattern='50\\d{6}', example_number='50123456', possible_length=(8,), possible_length_local_only=(7,)), no_international_dialling=PhoneNumberDesc(national_number_pattern='8001[07]\\d{4}', possible_length=(9,)), national_prefix='0', national_prefix_for_parsing='0(1\\d)?', - number_format=[NumberFormat(pattern='(\\d)(\\d{7})', format='\\1 \\2', leading_digits_pattern=['[23]|4[46]'], domestic_carrier_code_formatting_rule='0$CC \\1'), + number_format=[NumberFormat(pattern='(\\d)(\\d{7})', format='\\1 \\2', leading_digits_pattern=['[235]|4[46]'], domestic_carrier_code_formatting_rule='0$CC \\1'), NumberFormat(pattern='(\\d{8})', format='\\1', leading_digits_pattern=['[67]'], domestic_carrier_code_formatting_rule='0$CC \\1'), NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['8'], domestic_carrier_code_formatting_rule='0$CC \\1')]) diff --git a/python/phonenumbers/data/region_GY.py b/python/phonenumbers/data/region_GY.py index 348af330..863b6863 100644 --- a/python/phonenumbers/data/region_GY.py +++ b/python/phonenumbers/data/region_GY.py @@ -4,7 +4,7 @@ PHONE_METADATA_GY = PhoneMetadata(id='GY', country_code=592, international_prefix='001', general_desc=PhoneNumberDesc(national_number_pattern='(?:[2-8]\\d{3}|9008)\\d{3}', possible_length=(7,)), 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,)), - mobile=PhoneNumberDesc(national_number_pattern='(?:510|6\\d\\d|7(?:[0135]\\d|2[0-8]|4[0-24-9]))\\d{4}', example_number='6091234', possible_length=(7,)), + mobile=PhoneNumberDesc(national_number_pattern='510\\d{4}|(?:6\\d|7[0-5])\\d{5}', example_number='6091234', possible_length=(7,)), toll_free=PhoneNumberDesc(national_number_pattern='(?:289|8(?:00|6[28]|88|99))\\d{4}', example_number='2891234', possible_length=(7,)), premium_rate=PhoneNumberDesc(national_number_pattern='9008\\d{3}', example_number='9008123', possible_length=(7,)), voip=PhoneNumberDesc(national_number_pattern='515\\d{4}', example_number='5151234', possible_length=(7,)), diff --git a/python/phonenumbers/data/region_KR.py b/python/phonenumbers/data/region_KR.py index 3e4a02c9..1881e146 100644 --- a/python/phonenumbers/data/region_KR.py +++ b/python/phonenumbers/data/region_KR.py @@ -5,7 +5,7 @@ general_desc=PhoneNumberDesc(national_number_pattern='00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}', possible_length=(5, 6, 8, 9, 10, 11, 12, 13, 14), possible_length_local_only=(3, 4, 7)), fixed_line=PhoneNumberDesc(national_number_pattern='(?:2|3[1-3]|[46][1-4]|5[1-5])[1-9]\\d{6,7}|(?:3[1-3]|[46][1-4]|5[1-5])1\\d{2,3}', example_number='22123456', possible_length=(5, 6, 8, 9, 10), possible_length_local_only=(3, 4, 7)), mobile=PhoneNumberDesc(national_number_pattern='1(?:05(?:[0-8]\\d|9[0-6])|22[13]\\d)\\d{4,5}|1(?:0[0-46-9]|[16-9]\\d|2[013-9])\\d{6,7}', example_number='1020000000', possible_length=(9, 10)), - toll_free=PhoneNumberDesc(national_number_pattern='00(?:308\\d{6,7}|798\\d{7,9})|(?:00368|80)\\d{7}', example_number='801234567', possible_length=(9, 11, 12, 13, 14)), + toll_free=PhoneNumberDesc(national_number_pattern='00(?:308\\d{6,7}|798\\d{7,9})|(?:00368|[38]0)\\d{7}', example_number='801234567', possible_length=(9, 11, 12, 13, 14)), premium_rate=PhoneNumberDesc(national_number_pattern='60[2-9]\\d{6}', example_number='602345678', possible_length=(9,)), personal_number=PhoneNumberDesc(national_number_pattern='50\\d{8,9}', example_number='5012345678', possible_length=(10, 11)), voip=PhoneNumberDesc(national_number_pattern='70\\d{8}', example_number='7012345678', possible_length=(10,)), @@ -18,7 +18,7 @@ NumberFormat(pattern='(\\d{2})(\\d{3,4})', format='\\1-\\2', leading_digits_pattern=['(?:3[1-3]|[46][1-4]|5[1-5])1'], national_prefix_formatting_rule='0\\1', domestic_carrier_code_formatting_rule='0$CC-\\1'), NumberFormat(pattern='(\\d{4})(\\d{4})', format='\\1-\\2', leading_digits_pattern=['1']), NumberFormat(pattern='(\\d)(\\d{3,4})(\\d{4})', format='\\1-\\2-\\3', leading_digits_pattern=['2'], national_prefix_formatting_rule='0\\1', domestic_carrier_code_formatting_rule='0$CC-\\1'), - NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{4})', format='\\1-\\2-\\3', leading_digits_pattern=['60|8'], national_prefix_formatting_rule='0\\1', domestic_carrier_code_formatting_rule='0$CC-\\1'), + NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{4})', format='\\1-\\2-\\3', leading_digits_pattern=['[36]0|8'], national_prefix_formatting_rule='0\\1', domestic_carrier_code_formatting_rule='0$CC-\\1'), NumberFormat(pattern='(\\d{2})(\\d{3,4})(\\d{4})', format='\\1-\\2-\\3', leading_digits_pattern=['[1346]|5[1-5]'], national_prefix_formatting_rule='0\\1', domestic_carrier_code_formatting_rule='0$CC-\\1'), NumberFormat(pattern='(\\d{2})(\\d{4})(\\d{4})', format='\\1-\\2-\\3', leading_digits_pattern=['[57]'], national_prefix_formatting_rule='0\\1', domestic_carrier_code_formatting_rule='0$CC-\\1'), NumberFormat(pattern='(\\d{5})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['003', '0030']), @@ -28,7 +28,7 @@ intl_number_format=[NumberFormat(pattern='(\\d{2})(\\d{3,4})', format='\\1-\\2', leading_digits_pattern=['(?:3[1-3]|[46][1-4]|5[1-5])1']), NumberFormat(pattern='(\\d{4})(\\d{4})', format='\\1-\\2', leading_digits_pattern=['1']), NumberFormat(pattern='(\\d)(\\d{3,4})(\\d{4})', format='\\1-\\2-\\3', leading_digits_pattern=['2']), - NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{4})', format='\\1-\\2-\\3', leading_digits_pattern=['60|8']), + NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{4})', format='\\1-\\2-\\3', leading_digits_pattern=['[36]0|8']), NumberFormat(pattern='(\\d{2})(\\d{3,4})(\\d{4})', format='\\1-\\2-\\3', leading_digits_pattern=['[1346]|5[1-5]']), NumberFormat(pattern='(\\d{2})(\\d{4})(\\d{4})', format='\\1-\\2-\\3', leading_digits_pattern=['[57]']), NumberFormat(pattern='(\\d{2})(\\d{5})(\\d{4})', format='\\1-\\2-\\3', leading_digits_pattern=['5'])], diff --git a/python/phonenumbers/data/region_LA.py b/python/phonenumbers/data/region_LA.py index e8278704..c8f1deb8 100644 --- a/python/phonenumbers/data/region_LA.py +++ b/python/phonenumbers/data/region_LA.py @@ -4,10 +4,10 @@ PHONE_METADATA_LA = PhoneMetadata(id='LA', country_code=856, international_prefix='00', 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,)), 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,)), - mobile=PhoneNumberDesc(national_number_pattern='(?:20(?:[23579]\\d|88)|30(?:2\\d|4))\\d{6}', example_number='2023123456', possible_length=(9, 10)), + mobile=PhoneNumberDesc(national_number_pattern='208[78]\\d{6}|(?:20[23579]|30[24])\\d{7}', example_number='2023123456', possible_length=(10,)), uan=PhoneNumberDesc(national_number_pattern='30[0135-9]\\d{6}', example_number='301234567', possible_length=(9,)), national_prefix='0', national_prefix_for_parsing='0', 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'), - NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{3})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['30[013-9]'], national_prefix_formatting_rule='0\\1'), + 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'), 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')]) diff --git a/python/phonenumbers/data/region_MY.py b/python/phonenumbers/data/region_MY.py index 58dfe67c..7b4711fa 100644 --- a/python/phonenumbers/data/region_MY.py +++ b/python/phonenumbers/data/region_MY.py @@ -3,7 +3,7 @@ PHONE_METADATA_MY = PhoneMetadata(id='MY', country_code=60, international_prefix='00', 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)), - fixed_line=PhoneNumberDesc(national_number_pattern='(?: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)), + 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)), 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)), toll_free=PhoneNumberDesc(national_number_pattern='1[378]00\\d{6}', example_number='1300123456', possible_length=(10,)), premium_rate=PhoneNumberDesc(national_number_pattern='1600\\d{6}', example_number='1600123456', possible_length=(10,)), diff --git a/python/phonenumbers/data/region_SC.py b/python/phonenumbers/data/region_SC.py index ae0ae658..71d8e517 100644 --- a/python/phonenumbers/data/region_SC.py +++ b/python/phonenumbers/data/region_SC.py @@ -2,10 +2,11 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata PHONE_METADATA_SC = PhoneMetadata(id='SC', country_code=248, international_prefix='010|0[0-2]', - general_desc=PhoneNumberDesc(national_number_pattern='800\\d{4}|(?:[249]\\d|64)\\d{5}', possible_length=(7,)), + general_desc=PhoneNumberDesc(national_number_pattern='(?:[2489]\\d|64)\\d{5}', possible_length=(7,)), fixed_line=PhoneNumberDesc(national_number_pattern='4[2-46]\\d{5}', example_number='4217123', possible_length=(7,)), mobile=PhoneNumberDesc(national_number_pattern='2[125-8]\\d{5}', example_number='2510123', possible_length=(7,)), toll_free=PhoneNumberDesc(national_number_pattern='800[08]\\d{3}', example_number='8000000', possible_length=(7,)), + premium_rate=PhoneNumberDesc(national_number_pattern='85\\d{5}', example_number='8512345', possible_length=(7,)), voip=PhoneNumberDesc(national_number_pattern='971\\d{4}|(?:64|95)\\d{5}', example_number='6412345', possible_length=(7,)), preferred_international_prefix='00', number_format=[NumberFormat(pattern='(\\d)(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['[246]|9[57]'])]) diff --git a/python/phonenumbers/data/region_SG.py b/python/phonenumbers/data/region_SG.py index b1fee77d..debf2303 100644 --- a/python/phonenumbers/data/region_SG.py +++ b/python/phonenumbers/data/region_SG.py @@ -4,7 +4,7 @@ PHONE_METADATA_SG = PhoneMetadata(id='SG', country_code=65, international_prefix='0[0-3]\\d', general_desc=PhoneNumberDesc(national_number_pattern='(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}', possible_length=(8, 10, 11)), 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,)), - mobile=PhoneNumberDesc(national_number_pattern='8(?:09[0-6]|95[0-2])\\d{4}|(?:8(?:0[1-8]|[1-8]\\d|9[0-4])|9[0-8]\\d)\\d{5}', example_number='81234567', possible_length=(8,)), + mobile=PhoneNumberDesc(national_number_pattern='8(?:09[0-68]|95[0-2])\\d{4}|(?:8(?:0[1-8]|[1-8]\\d|9[0-4])|9[0-8]\\d)\\d{5}', example_number='81234567', possible_length=(8,)), toll_free=PhoneNumberDesc(national_number_pattern='(?:18|8)00\\d{7}', example_number='18001234567', possible_length=(10, 11)), premium_rate=PhoneNumberDesc(national_number_pattern='1900\\d{7}', example_number='19001234567', possible_length=(11,)), voip=PhoneNumberDesc(national_number_pattern='(?:3[12]\\d|666)\\d{5}', example_number='31234567', possible_length=(8,)), diff --git a/python/phonenumbers/data/region_TJ.py b/python/phonenumbers/data/region_TJ.py index 45b1e234..01f6906d 100644 --- a/python/phonenumbers/data/region_TJ.py +++ b/python/phonenumbers/data/region_TJ.py @@ -4,9 +4,9 @@ PHONE_METADATA_TJ = PhoneMetadata(id='TJ', country_code=992, international_prefix='810', general_desc=PhoneNumberDesc(national_number_pattern='[0-57-9]\\d{8}', possible_length=(9,), possible_length_local_only=(3, 5, 6, 7)), fixed_line=PhoneNumberDesc(national_number_pattern='(?:3(?:1[3-5]|2[245]|3[12]|4[24-7]|5[25]|72)|4(?:46|74|87))\\d{6}', example_number='372123456', possible_length=(9,), possible_length_local_only=(3, 5, 6, 7)), - mobile=PhoneNumberDesc(national_number_pattern='(?:4(?:1[18]|4[02-479])|81[1-9])\\d{6}|(?:0[0-57-9]|1[017]|2[02]|[34]0|5[05]|7[01578]|8[078]|9\\d)\\d{7}', example_number='917123456', possible_length=(9,)), + mobile=PhoneNumberDesc(national_number_pattern='(?:33[03-9]|4(?:1[18]|4[02-479])|81[1-9])\\d{6}|(?:0[0-57-9]|1[017]|2[02]|[34]0|5[05]|7[01578]|8[078]|9\\d)\\d{7}', example_number='917123456', possible_length=(9,)), preferred_international_prefix='8~10', number_format=[NumberFormat(pattern='(\\d{6})(\\d)(\\d{2})', format='\\1 \\2 \\3', leading_digits_pattern=['331', '3317']), NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['44[02-479]|[34]7']), - NumberFormat(pattern='(\\d{4})(\\d)(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['3[1-5]']), + NumberFormat(pattern='(\\d{4})(\\d)(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['3(?:[1245]|3[12])']), NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['[0-57-9]'])]) diff --git a/python/phonenumbers/data/region_VI.py b/python/phonenumbers/data/region_VI.py index fef65c71..0f9d4685 100644 --- a/python/phonenumbers/data/region_VI.py +++ b/python/phonenumbers/data/region_VI.py @@ -3,8 +3,8 @@ PHONE_METADATA_VI = PhoneMetadata(id='VI', country_code=1, international_prefix='011', general_desc=PhoneNumberDesc(national_number_pattern='[58]\\d{9}|(?:34|90)0\\d{7}', possible_length=(10,), possible_length_local_only=(7,)), - fixed_line=PhoneNumberDesc(national_number_pattern='340(?:2(?:0\\d|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\d)|884|998)\\d{4}', example_number='3406421234', possible_length=(10,), possible_length_local_only=(7,)), - mobile=PhoneNumberDesc(national_number_pattern='340(?:2(?:0\\d|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\d)|884|998)\\d{4}', example_number='3406421234', possible_length=(10,), possible_length_local_only=(7,)), + fixed_line=PhoneNumberDesc(national_number_pattern='340(?:2(?:0\\d|10|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\d)|884|998)\\d{4}', example_number='3406421234', possible_length=(10,), possible_length_local_only=(7,)), + mobile=PhoneNumberDesc(national_number_pattern='340(?:2(?:0\\d|10|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\d)|884|998)\\d{4}', example_number='3406421234', possible_length=(10,), possible_length_local_only=(7,)), toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', example_number='8002345678', possible_length=(10,)), premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', example_number='9002345678', possible_length=(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,)), diff --git a/python/phonenumbers/geodata/data23.py b/python/phonenumbers/geodata/data23.py index c40dde70..5b575fb6 100644 --- a/python/phonenumbers/geodata/data23.py +++ b/python/phonenumbers/geodata/data23.py @@ -3490,6 +3490,7 @@ '861709997':{'en': 'Zhongshan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')}, '861709998':{'en': 'Shenzhen, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')}, '861709999':{'en': 'Guangzhou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02')}, + '86173':{'en': 'Beijing', 'zh': u('\u5317\u4eac\u5e02')}, '8617600':{'en': 'Beijing', 'zh': u('\u5317\u4eac\u5e02')}, '8617601':{'en': 'Beijing', 'zh': u('\u5317\u4eac\u5e02')}, '86176012':{'en': 'Shanghai', 'zh': u('\u4e0a\u6d77\u5e02')}, @@ -10018,5 +10019,4 @@ '861787659':{'en': 'Maoming, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u8302\u540d\u5e02')}, '861787660':{'en': 'Shanwei, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5c3e\u5e02')}, '861787661':{'en': 'Yunfu, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4e91\u6d6e\u5e02')}, - '861787662':{'en': 'Yangjiang, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u9633\u6c5f\u5e02')}, } diff --git a/python/phonenumbers/geodata/data24.py b/python/phonenumbers/geodata/data24.py index 9389bb43..b1872a2e 100644 --- a/python/phonenumbers/geodata/data24.py +++ b/python/phonenumbers/geodata/data24.py @@ -19,6 +19,7 @@ # limitations under the License. data = { + '861787662':{'en': 'Yangjiang, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u9633\u6c5f\u5e02')}, '861787663':{'en': 'Jieyang, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02')}, '861787664':{'en': 'Zhanjiang, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6e5b\u6c5f\u5e02')}, '861787665':{'en': 'Jieyang, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02')}, @@ -10018,5 +10019,4 @@ '861820902':{'en': 'Hami, Xinjiang', 'zh': u('\u65b0\u7586\u54c8\u5bc6\u5730\u533a')}, '861820903':{'en': 'Hotan, Xinjiang', 'zh': u('\u65b0\u7586\u548c\u7530\u5730\u533a')}, '861820904':{'en': 'Hami, Xinjiang', 'zh': u('\u65b0\u7586\u54c8\u5bc6\u5730\u533a')}, - '861820905':{'en': 'Shihezi, Xinjiang', 'zh': u('\u65b0\u7586\u77f3\u6cb3\u5b50\u5e02')}, } diff --git a/python/phonenumbers/geodata/data25.py b/python/phonenumbers/geodata/data25.py index 1f3702c5..53ce8800 100644 --- a/python/phonenumbers/geodata/data25.py +++ b/python/phonenumbers/geodata/data25.py @@ -19,6 +19,7 @@ # limitations under the License. data = { + '861820905':{'en': 'Shihezi, Xinjiang', 'zh': u('\u65b0\u7586\u77f3\u6cb3\u5b50\u5e02')}, '861820906':{'en': 'Altay, Xinjiang', 'zh': u('\u65b0\u7586\u963f\u52d2\u6cf0\u5730\u533a')}, '861820907':{'en': 'Altay, Xinjiang', 'zh': u('\u65b0\u7586\u963f\u52d2\u6cf0\u5730\u533a')}, '861820908':{'en': 'Kizilsu, Xinjiang', 'zh': u('\u65b0\u7586\u514b\u5b5c\u52d2\u82cf\u67ef\u5c14\u514b\u5b5c\u81ea\u6cbb\u5dde')}, @@ -10018,5 +10019,4 @@ '861856748':{'en': 'Xinxiang, Henan', 'zh': u('\u6cb3\u5357\u7701\u65b0\u4e61\u5e02')}, '861856749':{'en': 'Xinxiang, Henan', 'zh': u('\u6cb3\u5357\u7701\u65b0\u4e61\u5e02')}, '86185675':{'en': 'Xinxiang, Henan', 'zh': u('\u6cb3\u5357\u7701\u65b0\u4e61\u5e02')}, - '861856750':{'en': 'Xinyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u4fe1\u9633\u5e02')}, } diff --git a/python/phonenumbers/geodata/data26.py b/python/phonenumbers/geodata/data26.py index dc3c7629..14d0c99e 100644 --- a/python/phonenumbers/geodata/data26.py +++ b/python/phonenumbers/geodata/data26.py @@ -19,6 +19,7 @@ # limitations under the License. data = { + '861856750':{'en': 'Xinyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u4fe1\u9633\u5e02')}, '861856751':{'en': 'Xinyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u4fe1\u9633\u5e02')}, '861856752':{'en': 'Xinyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u4fe1\u9633\u5e02')}, '861856759':{'en': 'Luoyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u6d1b\u9633\u5e02')}, @@ -10018,5 +10019,4 @@ '861883440':{'en': 'Xinzhou, Shanxi', 'zh': u('\u5c71\u897f\u7701\u5ffb\u5dde\u5e02')}, '861883441':{'en': 'Xinzhou, Shanxi', 'zh': u('\u5c71\u897f\u7701\u5ffb\u5dde\u5e02')}, '861883442':{'en': 'Xinzhou, Shanxi', 'zh': u('\u5c71\u897f\u7701\u5ffb\u5dde\u5e02')}, - '861883443':{'en': 'Xinzhou, Shanxi', 'zh': u('\u5c71\u897f\u7701\u5ffb\u5dde\u5e02')}, } diff --git a/python/phonenumbers/geodata/data27.py b/python/phonenumbers/geodata/data27.py index 128d61d0..b302f63f 100644 --- a/python/phonenumbers/geodata/data27.py +++ b/python/phonenumbers/geodata/data27.py @@ -19,6 +19,7 @@ # limitations under the License. data = { + '861883443':{'en': 'Xinzhou, Shanxi', 'zh': u('\u5c71\u897f\u7701\u5ffb\u5dde\u5e02')}, '861883444':{'en': 'Xinzhou, Shanxi', 'zh': u('\u5c71\u897f\u7701\u5ffb\u5dde\u5e02')}, '861883445':{'en': 'Yuncheng, Shanxi', 'zh': u('\u5c71\u897f\u7701\u8fd0\u57ce\u5e02')}, '861883446':{'en': 'Yuncheng, Shanxi', 'zh': u('\u5c71\u897f\u7701\u8fd0\u57ce\u5e02')}, @@ -10018,5 +10019,4 @@ '9171747':{'en': 'Mul, Maharashtra'}, '9171752':{'en': 'Bhadrawati, Maharashtra'}, '9171753':{'en': 'Bhadrawati, Maharashtra'}, - '9171754':{'en': 'Bhadrawati, Maharashtra'}, } diff --git a/python/phonenumbers/geodata/data28.py b/python/phonenumbers/geodata/data28.py index 25d84a8a..bbfffd72 100644 --- a/python/phonenumbers/geodata/data28.py +++ b/python/phonenumbers/geodata/data28.py @@ -19,6 +19,7 @@ # limitations under the License. data = { + '9171754':{'en': 'Bhadrawati, Maharashtra'}, '9171755':{'en': 'Bhadrawati, Maharashtra'}, '9171756':{'en': 'Bhadrawati, Maharashtra'}, '9171757':{'en': 'Bhadrawati, Maharashtra'}, diff --git a/python/phonenumbers/shortdata/region_AT.py b/python/phonenumbers/shortdata/region_AT.py index 54ea681f..5254c96d 100644 --- a/python/phonenumbers/shortdata/region_AT.py +++ b/python/phonenumbers/shortdata/region_AT.py @@ -2,9 +2,9 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata PHONE_METADATA_AT = PhoneMetadata(id='AT', country_code=None, international_prefix=None, - general_desc=PhoneNumberDesc(national_number_pattern='[168]\\d\\d(?:\\d(?:\\d{2})?)?', possible_length=(3, 4, 6)), + general_desc=PhoneNumberDesc(national_number_pattern='[1268]\\d\\d(?:\\d(?:\\d{2})?)?', possible_length=(3, 4, 6)), toll_free=PhoneNumberDesc(national_number_pattern='1(?:12|2[0238]|3[03]|4[0-247])|1(?:16\\d\\d|4[58])\\d', example_number='112', possible_length=(3, 4, 6)), emergency=PhoneNumberDesc(national_number_pattern='1(?:[12]2|33|44)', example_number='112', possible_length=(3,)), - short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:2|6(?:00[06]|1(?:17|23)))|2[0238]|3[03]|4(?:[0-247]|5[05]|84))|(?:61|8108[1-3])0', example_number='112', possible_length=(3, 4, 6)), - carrier_specific=PhoneNumberDesc(national_number_pattern='610|810\\d{3}', example_number='610', possible_length=(3, 6)), + short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:2|6(?:00[06]|1(?:17|23)))|2[0238]|3[03]|4(?:[0-247]|5[05]|84))|(?:220|61|8108[1-3])0', example_number='112', possible_length=(3, 4, 6)), + carrier_specific=PhoneNumberDesc(national_number_pattern='(?:220|810\\d\\d)\\d|610', example_number='610', possible_length=(3, 4, 6)), short_data=True) diff --git a/python/phonenumbers/shortdata/region_DE.py b/python/phonenumbers/shortdata/region_DE.py index 56fcec0a..765e790e 100644 --- a/python/phonenumbers/shortdata/region_DE.py +++ b/python/phonenumbers/shortdata/region_DE.py @@ -2,8 +2,9 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata PHONE_METADATA_DE = PhoneMetadata(id='DE', country_code=None, international_prefix=None, - general_desc=PhoneNumberDesc(national_number_pattern='1\\d\\d(?:\\d{2,3})?', possible_length=(3, 5, 6)), + general_desc=PhoneNumberDesc(national_number_pattern='[13]\\d{2,5}', possible_length=(3, 4, 5, 6)), toll_free=PhoneNumberDesc(national_number_pattern='11(?:[02]|6\\d{3})', example_number='110', possible_length=(3, 6)), emergency=PhoneNumberDesc(national_number_pattern='11[02]', example_number='110', possible_length=(3,)), - short_code=PhoneNumberDesc(national_number_pattern='11(?:[025]|6(?:00[06]|1(?:1[167]|23))|800\\d)|118\\d\\d', example_number='110', possible_length=(3, 5, 6)), + short_code=PhoneNumberDesc(national_number_pattern='11(?:[025]|6(?:00[06]|1(?:1[167]|23))|800\\d)|3311|118\\d\\d', example_number='110', possible_length=(3, 4, 5, 6)), + carrier_specific=PhoneNumberDesc(national_number_pattern='331\\d', example_number='3310', possible_length=(4,)), short_data=True)