def testGlobalNetworkNumbers(self): PhoneMetadata.load_all() for callingCode in PhoneMetadata._country_code_metadata.keys(): exampleNumber = phonenumberutil.example_number_for_non_geo_entity(callingCode) self.assertTrue(exampleNumber is not None, msg="No example phone number for calling code %s" % callingCode) if not phonenumberutil.is_valid_number(exampleNumber): self.invalid_cases.append(exampleNumber) prnt("Failed validation for %s" % exampleNumber, file=sys.stderr) self.assertEqual(0, len(self.invalid_cases))
def testPrintShortMetadata(self): # Python version extra test. Print string representation of short metadata. short_metadata = PhoneMetadata.short_metadata_for_region("GB") self.assertEqual(r"""PhoneMetadata(id='GB', country_code=None, international_prefix=None, general_desc=PhoneNumberDesc(national_number_pattern='[1-4679]\\d{2,5}', possible_number_pattern='\\d{3,6}'), toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), emergency=PhoneNumberDesc(national_number_pattern='112|999', possible_number_pattern='\\d{3}', example_number='112'), short_code=PhoneNumberDesc(national_number_pattern='1(?:0[01]|1(?:[12]|[68]\\d{3})|2[123]|33|4(?:1|7\\d)|5\\d|70\\d|800\\d|9[15])|2(?:02|2(?:02|11|2)|3(?:02|45)|425)|3[13]3|4(?:0[02]|35[01]|44[45]|5\\d)|650|789|9(?:01|99)', possible_number_pattern='\\d{3,6}', example_number='150'), standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), short_data=True)""", str(short_metadata))
def testCarrierSpecificShortNumbers(self): wrongTagCounter = 0 for regionCode in phonenumberutil.SUPPORTED_SHORT_REGIONS: # Test the carrier-specific tag. metadata = PhoneMetadata.short_metadata_for_region(regionCode, None) desc = metadata.carrier_specific if desc.example_number is not None: exampleNumber = desc.example_number carrierSpecificNumber = phonenumberutil.parse(exampleNumber, regionCode) if (not fullmatch(re.compile(desc.possible_number_pattern), exampleNumber) or not shortnumberinfo.is_carrier_specific(carrierSpecificNumber)): wrongTagCounter += 1 prnt("Carrier-specific test failed for %s" % regionCode, file=sys.stderr) # TODO: Test other tags here self.assertEqual(0, wrongTagCounter)
def testEmergency(self): wrongTypeCounter = 0 for regionCode in phonenumberutil.SUPPORTED_SHORT_REGIONS: metadata = PhoneMetadata.short_metadata_for_region(regionCode, None) desc = metadata.emergency if desc.example_number is not None: exampleNumber = desc.example_number if (not fullmatch(re.compile(desc.possible_number_pattern), exampleNumber) or not is_emergency_number(exampleNumber, regionCode)): wrongTypeCounter += 1 prnt("Emergency example number test failed for %s" % regionCode, file=sys.stderr) elif shortnumberinfo.expected_cost_for_region(exampleNumber, regionCode) != ShortNumberCost.TOLL_FREE: wrongTypeCounter += 1 prnt("Emergency example number not toll free for %s" % regionCode, file=sys.stderr) self.assertEqual(0, wrongTypeCounter)
def testCanBeInternationallyDialled(self): for regionCode in phonenumberutil.SUPPORTED_REGIONS: exampleNumber = None metadata = PhoneMetadata.metadata_for_region(regionCode, None) desc = None if metadata is not None: desc = metadata.no_international_dialling try: if desc.example_number is not None: exampleNumber = phonenumberutil.parse(desc.example_number, regionCode) except NumberParseException: _, e, _ = sys.exc_info() prnt("Failed parse: %s" % e, file=sys.stderr) if (exampleNumber is not None and phonenumberutil._can_be_internationally_dialled(exampleNumber)): self.wrong_type_cases.append(exampleNumber) prnt("Number %s should not be internationally diallable" % exampleNumber, file=sys.stderr) self.assertEqual(0, len(self.wrong_type_cases))
PHONE_METADATA_EC = PhoneMetadata( id='EC', country_code=593, international_prefix='00', general_desc=PhoneNumberDesc( national_number_pattern='[2-9]\\d{7}|1\\d{9,10}', possible_number_pattern='\\d{7,11}'), fixed_line=PhoneNumberDesc(national_number_pattern='[2-7][2-7]\\d{6}', possible_number_pattern='\\d{7,8}', example_number='22123456'), mobile=PhoneNumberDesc(national_number_pattern='[89]\\d{7}', possible_number_pattern='\\d{8}', example_number='99123456'), toll_free=PhoneNumberDesc(national_number_pattern='1800\\d{6,7}', possible_number_pattern='\\d{10,11}', example_number='18001234567'), premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), national_prefix=u'0', national_prefix_for_parsing=u'0', number_format=[ NumberFormat(pattern='(\\d)(\\d{3})(\\d{4})', format=u'\\1 \\2-\\3', leading_digits_pattern=['[2-7]'], national_prefix_formatting_rule=u'(0\\1)'), NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{3})', format=u'\\1 \\2 \\3', leading_digits_pattern=['[89]'], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='(1800)(\\d{3})(\\d{3,4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['1'], national_prefix_formatting_rule=u'\\1') ], intl_number_format=[ NumberFormat(pattern='(\\d)(\\d{3})(\\d{4})', format=u'\\1-\\2-\\3', leading_digits_pattern=['[2-7]']), NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{3})', format=u'\\1 \\2 \\3', leading_digits_pattern=['[89]']), NumberFormat(pattern='(1800)(\\d{3})(\\d{3,4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['1']) ])
"""Auto-generated file, do not edit by hand. IR metadata""" from phonenumbers import NumberFormat, PhoneNumberDesc, PhoneMetadata PHONE_METADATA_IR = PhoneMetadata(id='IR', country_code=98, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern=u'[2-6]\d{4,9}|[1789]\d{9}', possible_number_pattern=u'\d{5,10}'), fixed_line=PhoneNumberDesc(national_number_pattern=u'2(?:1[2-9]\d{2,7}|51\d{3,7})|(?:241|3(?:11|5[23])|441|5[14]1)\d{4,7}|(?:3(?:34|41)|6(?:11|52)|)\d{6,7}|(?:1(?:[134589][12]|[27][1-4])|2(?:2[189]|[3689][12]|42|5[256]|7[34])|3(?:12|2[1-4]|3[125]|4[24-9]|51|[6-9][12])|4(?:[135-9][12]|2[1-467]|4[2-4])|5(?:12|2[89]|3[1-5]|4[2-8]|[5-7][12]|8[1245])|6(?:12|[347-9][12]|51|6[1-6])|7(?:[13589][12]|2[1289]|4[1-4]|6[1-6]|7[1-3])|8(?:[145][12]|3[124578]|6[1256]|7[1245]))\d{7}', possible_number_pattern=u'\d{5,10}', example_number=u'2123456789'), mobile=PhoneNumberDesc(national_number_pattern=u'9(?:1\d|3[124-8])\d{7}', possible_number_pattern=u'\d{10}', example_number=u'9123456789'), toll_free=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), premium_rate=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), shared_cost=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), personal_number=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), voip=PhoneNumberDesc(national_number_pattern=u'993[12]\d{6}', possible_number_pattern=u'\d{10}', example_number=u'9932123456'), pager=PhoneNumberDesc(national_number_pattern=u'943[24678]\d{6}', possible_number_pattern=u'\d{10}', example_number=u'9432123456'), uan=PhoneNumberDesc(national_number_pattern=u'9990\d{6}', possible_number_pattern=u'\d{10}', example_number=u'9990123456'), no_international_dialling=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), national_prefix=u'0', national_prefix_for_parsing=u'0', number_format=[NumberFormat(pattern='(21)(\d{4})(\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['21'], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='(\d{3})(\d{3})(\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['[13-89]|2[02-9]'], national_prefix_formatting_rule=u'0\\1')])
PHONE_METADATA_CM = PhoneMetadata( id='CM', country_code=237, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern='[237-9]\\d{7}', possible_number_pattern='\\d{8}'), fixed_line=PhoneNumberDesc(national_number_pattern='(?:22|33)\\d{6}', possible_number_pattern='\\d{8}', example_number='22123456'), mobile=PhoneNumberDesc(national_number_pattern='[79]\\d{7}', possible_number_pattern='\\d{8}', example_number='71234567'), toll_free=PhoneNumberDesc(national_number_pattern='800\\d{5}', possible_number_pattern='\\d{8}', example_number='80012345'), premium_rate=PhoneNumberDesc(national_number_pattern='88\\d{6}', possible_number_pattern='\\d{8}', example_number='88012345'), shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), number_format=[ NumberFormat(pattern='([237-9]\\d)(\\d{2})(\\d{2})(\\d{2})', format=u'\\1 \\2 \\3 \\4', leading_digits_pattern=['[2379]|88']), NumberFormat(pattern='(800)(\\d{2})(\\d{3})', format=u'\\1 \\2 \\3', leading_digits_pattern=['80']) ])
"""Auto-generated file, do not edit by hand. GH metadata""" from phonenumbers import NumberFormat, PhoneNumberDesc, PhoneMetadata PHONE_METADATA_GH = PhoneMetadata(id='GH', country_code=233, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern='[235]\\d{6,8}', possible_number_pattern='\\d{7,9}'), fixed_line=PhoneNumberDesc(national_number_pattern='3(?:0[237]\\d|[167](?:2[0-6]|7\\d)|2(?:2[0-5]|7\\d)|3(?:2[0-37]|7\\d)|4(?:[27]\\d|30)|5(?:2[0-7]|7\\d)|8(?:2[0-2]|7\\d)|9(?:20|7\\d))\\d{5}', possible_number_pattern='\\d{7,9}', example_number='302345678'), mobile=PhoneNumberDesc(national_number_pattern='(?:2[034678]|5[47])\\d{7}', possible_number_pattern='\\d{9}', example_number='231234567'), toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), national_prefix=u'0', national_prefix_for_parsing=u'0', number_format=[NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{4})', format=u'\\1 \\2 \\3', national_prefix_formatting_rule=u'0\\1')])
"""Auto-generated file, do not edit by hand. ZA metadata""" from phonenumbers import NumberFormat, PhoneNumberDesc, PhoneMetadata PHONE_METADATA_ZA = PhoneMetadata(id='ZA', country_code=27, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern='\\d{9}', possible_number_pattern='\\d{8,9}'), fixed_line=PhoneNumberDesc(national_number_pattern='(?:1[0-8]|2[1-478]|3[1-69]|4\\d|5[1346-8])\\d{7}', possible_number_pattern='\\d{8,9}', example_number='101234567'), mobile=PhoneNumberDesc(national_number_pattern='(?:7[1-4689]|8[1-5789])\\d{7}', possible_number_pattern='\\d{9}', example_number='711234567'), toll_free=PhoneNumberDesc(national_number_pattern='80\\d{7}', possible_number_pattern='\\d{9}', example_number='801234567'), premium_rate=PhoneNumberDesc(national_number_pattern='86[1-9]\\d{6}', possible_number_pattern='\\d{9}', example_number='861234567'), shared_cost=PhoneNumberDesc(national_number_pattern='860\\d{6}', possible_number_pattern='\\d{9}', example_number='860123456'), personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), voip=PhoneNumberDesc(national_number_pattern='87\\d{7}', possible_number_pattern='\\d{9}', example_number='871234567'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), national_prefix=u'0', national_prefix_for_parsing=u'0', number_format=[NumberFormat(pattern='(860)(\\d{3})(\\d{3})', format=u'\\1 \\2 \\3', leading_digits_pattern=['860'], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='([1-578]\\d)(\\d{3})(\\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['[1-57]|8(?:[0-57-9]|6[1-9])'], national_prefix_formatting_rule=u'0\\1')])
"""Auto-generated file, do not edit by hand. RU metadata""" from phonenumbers import NumberFormat, PhoneNumberDesc, PhoneMetadata PHONE_METADATA_RU = PhoneMetadata(id='RU', country_code=7, international_prefix='8~10', general_desc=PhoneNumberDesc(national_number_pattern='[3489]\\d{9}', possible_number_pattern='\\d{10}'), fixed_line=PhoneNumberDesc(national_number_pattern='(?:3(?:0[12]|4[1-35-79]|5[1-3]|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-7]|7[1-37-9]))\\d{7}', possible_number_pattern='\\d{10}', example_number='3011234567'), mobile=PhoneNumberDesc(national_number_pattern='9\\d{9}', possible_number_pattern='\\d{10}', example_number='9123456789'), toll_free=PhoneNumberDesc(national_number_pattern='80[04]\\d{7}', possible_number_pattern='\\d{10}', example_number='8001234567'), premium_rate=PhoneNumberDesc(national_number_pattern='80[39]\\d{7}', possible_number_pattern='\\d{10}', example_number='8091234567'), shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), national_prefix=u'8', national_prefix_for_parsing=u'8', number_format=[NumberFormat(pattern='([3489]\\d{2})(\\d{3})(\\d{2})(\\d{2})', format=u'\\1 \\2-\\3-\\4', leading_digits_pattern=['[34689]'], national_prefix_formatting_rule=u'8 (\\1)'), NumberFormat(pattern='(7\\d{2})(\\d{3})(\\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['7'], national_prefix_formatting_rule=u'8 (\\1)')], main_country_for_code=True)
PHONE_METADATA_IN = PhoneMetadata( id='IN', country_code=91, international_prefix='00', general_desc=PhoneNumberDesc( national_number_pattern='1\\d{7,11}|[2-9]\\d{9,10}', possible_number_pattern='\\d{6,12}'), fixed_line=PhoneNumberDesc( national_number_pattern= '(?:11|2[02]|33|4[04]|79)[2-6]\\d{7}|80[2-46]\\d{7}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[126-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:[136][25]|22|4[28]|5[12]|[78]1|9[15])|6(?:12|[2345]1|57|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-6]\\d{6}|(?:(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[13-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1-5]|4[25-8]|5[125689]|6[235-7]|7[157-9]|8[2-467])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24-58]|7[23-689]|8[1-6])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d|7(?:(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|9\\d)\\d|8(?:2[0-6]|[013-8]\\d)))[2-6]\\d{5}', possible_number_pattern='\\d{6,10}', example_number='1123456789'), mobile=PhoneNumberDesc( national_number_pattern= '(?:7(?:2(?:0[04-9]|5[09]|7[5-8]|9[389])|3(?:0[134679]|5[0-489]|7[3679]|8[3-9]|9[689])|4(?:0[4579]|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5789]|[47]9|[25]0|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[679]|9[6-9])|7(?:0[27-9]|[39][5-9]|42|60)|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7\\d|9[013-9]))|8(?:0[01589]\\d|1(?:[024]\\d|15|30|7[19]|97)|2(?:[2369]\\d|52|7[0135]|8[67])|3(?:0[235-8]|4[179]|74|90)|4(?:[02-58]\\d|10|6[09])|5(?:0[079]|[19]1|2\\d|30|4[47]|53|7[45])|6(?:[0589]\\d|7[09])|7(?:1[24]|[2569]\\d)|8(?:[07-9]\\d|17|2[024-8]|44|5[389]|6[0167])|9(?:[057-9]\\d|2[35-9]|3[09]|4[038]|6[0-27-9]))|9\\d{3})\\d{6}', possible_number_pattern='\\d{10}', example_number='9123456789'), toll_free=PhoneNumberDesc( national_number_pattern='1(?:600\\d{6}|800\\d{4,8})', possible_number_pattern='\\d{8,12}', example_number='1800123456'), premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='1860345\\d{4}', possible_number_pattern='\\d{11}', example_number='18603451234'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), national_prefix=u'0', national_prefix_for_parsing=u'0', number_format=[ NumberFormat( pattern='(\\d{2})(\\d{2})(\\d{6})', format=u'\\1 \\2 \\3', leading_digits_pattern=[ '7(?:2[0579]|3[057-9]|4[0-389]|5[024-9]|6[0-35-9]|7[03469]|8[0-4679])|8(?:0[01589]|1[0-479]|2[236-9]|3[0479]|4[0-68]|5[0-579]6[05789]7[12569]|8[0124-9]|9[02-9])|9', '7(?:2(?:0[04-9]|5[09]|7[5-8]|9[389])|3(?:0[134679]|5[0-489]|7[3679]|8[3-9]|9[689])|4(?:0[4579]|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5789]|[47]9|[25]0|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[679]|9[6-9])|7(?:0[27-9]|3[5-9]|42|60|9[5-9])|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7|9[013-9]))|8(?:0[01589]|1(?:[024]|15|30|7[19]|97)|2(?:[2369]|7[0135]|8[67])|3(?:0[235-8]|4[179]|74|90)|4(?:[02-58]|10|6[09])|5(?:0[079]|[19]1|2|30|4[47]|53|7[45])|6(?:[0589]|70)|7(?:1[24]|[2569])|8(?:[07-9]|17|2[024-8]|44|5[389]|6[0167])|9(?:[057-9]|2[35-9]|3[09]|4[038]|6[0-27-9]))|9' ], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='(\\d{2})(\\d{4})(\\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['11|2[02]|33|4[04]|79|80[2-46]'], national_prefix_formatting_rule=u'0\\1'), NumberFormat( pattern='(\\d{3})(\\d{3})(\\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=[ '1(?:2[0-249]|3[0-25]|4[145]|[569][14]|7[1257]|8[1346]|[68][1-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[126-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:[136][25]|22|4[28]|5[12]|[78]1|9[15])|6(?:12|[2345]1|57|6[13]|7[14]|80)' ], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=[ '7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)', '7(?:12|2[14]|3[134]|4[47]|5(?:1|5[2-6])|[67]1|88)' ], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=[ '8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)' ], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{3})', format=u'\\1 \\2 \\3', leading_digits_pattern=['1(?:[2-579]|[68][1-9])|[2-8]'], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='(1600)(\\d{2})(\\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['160', '1600'], national_prefix_formatting_rule=u'\\1'), NumberFormat(pattern='(1800)(\\d{4,5})', format=u'\\1 \\2', leading_digits_pattern=['180', '1800'], national_prefix_formatting_rule=u'\\1'), NumberFormat(pattern='(18[06]0)(\\d{2,4})(\\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['18[06]', '18[06]0'], national_prefix_formatting_rule=u'\\1') ])
def testMetadataPrint(self): # Python version extra test # Convert all metadata to strings to check the printing code doesn't blow up. for region_code in PhoneMetadata._region_available.keys(): metadata = PhoneMetadata.metadata_for_region(region_code) str(metadata)
PHONE_METADATA_UZ = PhoneMetadata( id='UZ', country_code=998, international_prefix='8~10', general_desc=PhoneNumberDesc(national_number_pattern='[679]\\d{8}', possible_number_pattern='\\d{7,9}'), fixed_line=PhoneNumberDesc( national_number_pattern='(?:6[125679]|7[0-69])\\d{7}', possible_number_pattern='\\d{7,9}', example_number='612345678'), mobile=PhoneNumberDesc(national_number_pattern='9[0-57-9]\\d{7}', possible_number_pattern='\\d{7,9}', example_number='912345678'), toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), national_prefix=u'8', national_prefix_for_parsing=u'8', number_format=[ NumberFormat(pattern='([679]\\d)(\\d{3})(\\d{2})(\\d{2})', format=u'\\1 \\2 \\3 \\4', national_prefix_formatting_rule=u'8\\1') ])
PHONE_METADATA_CF = PhoneMetadata( id='CF', country_code=236, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern=u'[278]\d{7}', possible_number_pattern=u'\d{8}'), fixed_line=PhoneNumberDesc(national_number_pattern=u'2[12]\d{6}', possible_number_pattern=u'\d{8}', example_number=u'21612345'), mobile=PhoneNumberDesc(national_number_pattern=u'7[0257]\d{6}', possible_number_pattern=u'\d{8}', example_number=u'70012345'), toll_free=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), premium_rate=PhoneNumberDesc(national_number_pattern=u'8776\d{4}', possible_number_pattern=u'\d{8}', example_number=u'87761234'), shared_cost=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), personal_number=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), voip=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), pager=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), uan=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), number_format=[ NumberFormat(pattern='(\d{2})(\d{2})(\d{2})(\d{2})', format=u'\\1 \\2 \\3 \\4') ])
"""Auto-generated file, do not edit by hand. IT metadata""" from phonenumbers import NumberFormat, PhoneNumberDesc, PhoneMetadata PHONE_METADATA_IT = PhoneMetadata(id='IT', country_code=39, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern='[01389]\\d{5,10}', possible_number_pattern='\\d{6,11}'), fixed_line=PhoneNumberDesc(national_number_pattern='0(?:[26]\\d{4,9}|[13-57-9](?:[0159]\\d{4,8}|[2-46-8]\\d{5,8}))', possible_number_pattern='\\d{6,11}', example_number='0212345678'), mobile=PhoneNumberDesc(national_number_pattern='3\\d{8,9}', possible_number_pattern='\\d{9,10}', example_number='312345678'), toll_free=PhoneNumberDesc(national_number_pattern='80(?:0\\d{6}|3\\d{3})', possible_number_pattern='\\d{6,9}', example_number='800123456'), premium_rate=PhoneNumberDesc(national_number_pattern='89(?:2\\d{3}|9\\d{6})', possible_number_pattern='\\d{6,9}', example_number='899123456'), shared_cost=PhoneNumberDesc(national_number_pattern='84[78]\\d{6,7}', possible_number_pattern='\\d{9,10}', example_number='8481234567'), personal_number=PhoneNumberDesc(national_number_pattern='178\\d{6,7}', possible_number_pattern='\\d{9,10}', example_number='1781234567'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), number_format=[NumberFormat(pattern='(0[26])(\\d{3,4})(\\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['0[26]']), NumberFormat(pattern='(0[26])(\\d{4})(\\d{5})', format=u'\\1 \\2 \\3', leading_digits_pattern=['0[26]']), NumberFormat(pattern='(0[26])(\\d{4,6})', format=u'\\1 \\2', leading_digits_pattern=['0[26]']), NumberFormat(pattern='(0\\d{2})(\\d{3,4})(\\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['0[13-57-9][0159]']), NumberFormat(pattern='(0\\d{2})(\\d{4,6})', format=u'\\1 \\2', leading_digits_pattern=['0[13-57-9][0159]']), NumberFormat(pattern='(0\\d{3})(\\d{3})(\\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['0[13-57-9][2-46-8]']), NumberFormat(pattern='(0\\d{3})(\\d{4,6})', format=u'\\1 \\2', leading_digits_pattern=['0[13-57-9][2-46-8]']), NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{3,4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['[13]|8(?:00|4[78])']), NumberFormat(pattern='(\\d{3})(\\d{3,6})', format=u'\\1 \\2', leading_digits_pattern=['8(?:03|9)'])], leading_zero_possible=True)
PHONE_METADATA_BO = PhoneMetadata( id='BO', country_code=591, international_prefix='00(1\\d)?', general_desc=PhoneNumberDesc(national_number_pattern='[23467]\\d{7}', possible_number_pattern='\\d{7,8}'), fixed_line=PhoneNumberDesc( national_number_pattern= '(?:2(?:2\\d{2}|5(?:11|[258]\\d|9[67])|6(?:12|2\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\d{2}|4(?:6\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:2\\d|3[234]|4[248]|5[24]|6[2-6]|7\\d))|4(?:4\\d{2}|6(?:11|[24689]\\d|72)))\\d{4}', possible_number_pattern='\\d{7,8}', example_number='22123456'), mobile=PhoneNumberDesc(national_number_pattern='[67]\\d{7}', possible_number_pattern='\\d{8}', example_number='71234567'), toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), national_prefix=u'0', national_prefix_for_parsing=u'0(1\d)?', number_format=[ NumberFormat(pattern='([234])(\\d{7})', format=u'\\1 \\2', leading_digits_pattern=['[234]'], domestic_carrier_code_formatting_rule=u'0$CC \\1'), NumberFormat(pattern='([67]\\d{7})', format=u'\\1', leading_digits_pattern=['[67]'], domestic_carrier_code_formatting_rule=u'0$CC \\1') ])
"""Auto-generated file, do not edit by hand. MH metadata""" from phonenumbers import NumberFormat, PhoneNumberDesc, PhoneMetadata PHONE_METADATA_MH = PhoneMetadata(id='MH', country_code=692, international_prefix='011', general_desc=PhoneNumberDesc(), fixed_line=PhoneNumberDesc(), mobile=PhoneNumberDesc(), toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), national_prefix=u'1', national_prefix_for_parsing=u'1')
PHONE_METADATA_HK = PhoneMetadata( id='HK', country_code=852, international_prefix='00', general_desc=PhoneNumberDesc( national_number_pattern='[235-7]\\d{7}|8\\d{7,8}|9\\d{7,10}', possible_number_pattern='\\d{8,11}'), fixed_line=PhoneNumberDesc(national_number_pattern='[23]\\d{7}', possible_number_pattern='\\d{8}', example_number='21234567'), mobile=PhoneNumberDesc(national_number_pattern='[5-79]\\d{7}', possible_number_pattern='\\d{8}', example_number='51234567'), toll_free=PhoneNumberDesc(national_number_pattern='800\\d{6}', possible_number_pattern='\\d{9}', example_number='800123456'), premium_rate=PhoneNumberDesc(national_number_pattern='900\\d{8}', possible_number_pattern='\\d{11}', example_number='90012345678'), shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), personal_number=PhoneNumberDesc(national_number_pattern='8[1-3]\\d{6}', possible_number_pattern='\\d{8}', example_number='81123456'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), number_format=[ NumberFormat(pattern='(\\d{4})(\\d{4})', format=u'\\1 \\2', leading_digits_pattern=['[235-7]|[89](?:0[1-9]|[1-9])']), NumberFormat(pattern='(800)(\\d{3})(\\d{3})', format=u'\\1 \\2 \\3', leading_digits_pattern=['800']), NumberFormat(pattern='(900)(\\d{2})(\\d{3})(\\d{3})', format=u'\\1 \\2 \\3 \\4', leading_digits_pattern=['900']) ])
PHONE_METADATA_VC = PhoneMetadata( id='VC', country_code=1, international_prefix='011', general_desc=PhoneNumberDesc(national_number_pattern='[5789]\\d{9}', possible_number_pattern='\\d{7}(?:\\d{3})?'), fixed_line=PhoneNumberDesc( national_number_pattern= '784(?:266|3(?:6[6-9]|7\\d|8[0-24-6])|4(?:38|5[0-36-8]|8\\d|9[01])|555|638|784)\\d{4}', possible_number_pattern='\\d{7}(?:\\d{3})?', example_number='7842661234'), mobile=PhoneNumberDesc( national_number_pattern= '784(?:4(?:3[0-4]|5[45]|9[2-5])|5(?:2[6-9]|3[0-4]|93))\\d{4}', possible_number_pattern='\\d{10}', example_number='7844301234'), toll_free=PhoneNumberDesc( national_number_pattern='8(?:00|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002345678'), premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002345678'), shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), personal_number=PhoneNumberDesc( national_number_pattern='5(?:00|33|44)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), national_prefix=u'1', national_prefix_for_parsing=u'1', leading_digits='784')
"""Auto-generated file, do not edit by hand. KE metadata""" from phonenumbers import NumberFormat, PhoneNumberDesc, PhoneMetadata PHONE_METADATA_KE = PhoneMetadata(id='KE', country_code=254, international_prefix='000', general_desc=PhoneNumberDesc(national_number_pattern='\\d{6,10}', possible_number_pattern='\\d{4,10}'), fixed_line=PhoneNumberDesc(national_number_pattern='(?:20|4[0-6]|5\\d|6[0-24-9])\\d{4,7}', possible_number_pattern='\\d{4,9}', example_number='202012345'), mobile=PhoneNumberDesc(national_number_pattern='7(?:0[0-3]|[123]\\d|5[0-3]|7[0-4])\\d{6}', possible_number_pattern='\\d{9}', example_number='712123456'), toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|88)\\d{6,7}', possible_number_pattern='\\d{9,10}', example_number='800123456'), premium_rate=PhoneNumberDesc(national_number_pattern='9(?:00|1)\\d{6,7}', possible_number_pattern='\\d{8,10}', example_number='900123456'), shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), national_prefix=u'0', national_prefix_for_parsing=u'0', number_format=[NumberFormat(pattern='(\\d{2})(\\d{4,7})', format=u'\\1 \\2', leading_digits_pattern=['[2-6]|91'], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='(\\d{3})(\\d{6,7})', format=u'\\1 \\2', leading_digits_pattern=['[78]|90'], national_prefix_formatting_rule=u'0\\1')])
"""Auto-generated file, do not edit by hand. SG metadata""" from phonenumbers import NumberFormat, PhoneNumberDesc, PhoneMetadata PHONE_METADATA_SG = PhoneMetadata(id='SG', country_code=65, international_prefix='0[0-3][0-9]', general_desc=PhoneNumberDesc(national_number_pattern=u'[36]\d{7}|[17-9]\d{7,10}', possible_number_pattern=u'\d{8,11}'), fixed_line=PhoneNumberDesc(national_number_pattern=u'6[1-8]\d{6}', possible_number_pattern=u'\d{8}', example_number=u'61234567'), mobile=PhoneNumberDesc(national_number_pattern=u'(?:8[1-5]|9[0-8])\d{6}', possible_number_pattern=u'\d{8}', example_number=u'81234567'), toll_free=PhoneNumberDesc(national_number_pattern=u'1?800\d{7}', possible_number_pattern=u'\d{10,11}', example_number=u'18001234567'), premium_rate=PhoneNumberDesc(national_number_pattern=u'1900\d{7}', possible_number_pattern=u'\d{11}', example_number=u'19001234567'), shared_cost=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), personal_number=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), voip=PhoneNumberDesc(national_number_pattern=u'3[0-2]\d{6}', possible_number_pattern=u'\d{8}', example_number=u'31234567'), pager=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), uan=PhoneNumberDesc(national_number_pattern=u'7000\d{7}', possible_number_pattern=u'\d{11}', example_number=u'70001234567'), no_international_dialling=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), number_format=[NumberFormat(pattern='([3689]\d{3})(\d{4})', format=u'\\1 \\2', leading_digits_pattern=['[369]|8[1-9]']), NumberFormat(pattern='(1[89]00)(\d{3})(\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['1[89]']), NumberFormat(pattern='(7000)(\d{4})(\d{3})', format=u'\\1 \\2 \\3', leading_digits_pattern=['70']), NumberFormat(pattern='(800)(\d{3})(\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['80'])])
PHONE_METADATA_US = PhoneMetadata( id='US', country_code=1, international_prefix='011', general_desc=PhoneNumberDesc(national_number_pattern='[2-9]\\d{9}', possible_number_pattern='\\d{7}(?:\\d{3})?'), fixed_line=PhoneNumberDesc( national_number_pattern= '(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[1678]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}', possible_number_pattern='\\d{7}(?:\\d{3})?', example_number='2012345678'), mobile=PhoneNumberDesc( national_number_pattern= '(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[1678]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}', possible_number_pattern='\\d{7}(?:\\d{3})?', example_number='2012345678'), toll_free=PhoneNumberDesc( national_number_pattern='8(?:00|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002345678'), premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002345678'), shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), personal_number=PhoneNumberDesc( national_number_pattern='5(?:00|33|44)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), national_prefix=u'1', national_prefix_for_parsing=u'1', number_format=[ NumberFormat(pattern='(\\d{3})(\\d{4})', format=u'\\1-\\2'), NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format=u'(\\1) \\2-\\3') ], intl_number_format=[ NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format=u'\\1-\\2-\\3') ], main_country_for_code=True)
PHONE_METADATA_BE = PhoneMetadata( id='BE', country_code=32, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern='[1-9]\\d{7,8}', possible_number_pattern='\\d{8,9}'), fixed_line=PhoneNumberDesc( national_number_pattern= '(?:1[0-69]|[23][2-8]|[49][23]|5\\d|6[013-57-9]|7[18])\\d{6}|8(?:0[1-9]|[1-69]\\d)\\d{5}', possible_number_pattern='\\d{8}', example_number='12345678'), mobile=PhoneNumberDesc( national_number_pattern='4(?:7\\d|8[3-9]|9[1-9])\\d{6}', possible_number_pattern='\\d{9}', example_number='470123456'), toll_free=PhoneNumberDesc(national_number_pattern='800\\d{5}', possible_number_pattern='\\d{8}', example_number='80012345'), premium_rate=PhoneNumberDesc(national_number_pattern='(?:90|7[07])\\d{6}', possible_number_pattern='\\d{8}', example_number='90123456'), shared_cost=PhoneNumberDesc(national_number_pattern='87\\d{6}', possible_number_pattern='\\d{8}', example_number='87123456'), personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), national_prefix=u'0', national_prefix_for_parsing=u'0', number_format=[ NumberFormat(pattern='(4[7-9]\\d)(\\d{2})(\\d{2})(\\d{2})', format=u'\\1 \\2 \\3 \\4', leading_digits_pattern=['4[7-9]'], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='([2-49])(\\d{3})(\\d{2})(\\d{2})', format=u'\\1 \\2 \\3 \\4', leading_digits_pattern=['[23]|[49][23]'], national_prefix_formatting_rule=u'0\\1'), NumberFormat( pattern='([15-8]\\d)(\\d{2})(\\d{2})(\\d{2})', format=u'\\1 \\2 \\3 \\4', leading_digits_pattern=['[156]|7[0178]|8(?:0[1-9]|[1-79])'], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='([89]\\d{2})(\\d{2})(\\d{3})', format=u'\\1 \\2 \\3', leading_digits_pattern=['(?:80|9)0'], national_prefix_formatting_rule=u'0\\1') ])
PHONE_METADATA_DE = PhoneMetadata( id='DE', country_code=49, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern=u'\d{4,14}', possible_number_pattern=u'\d{2,14}'), fixed_line=PhoneNumberDesc( national_number_pattern= u'(?:[24-6]\d{2}|3[03-9]\d|[789](?:[1-9]\d|0[2-9]))\d{3,8}', possible_number_pattern=u'\d{2,14}', example_number=u'30123456'), mobile=PhoneNumberDesc( national_number_pattern=u'1(5\d{9}|7\d{8}|6[02]\d{8}|63\d{7})', possible_number_pattern=u'\d{10,11}'), toll_free=PhoneNumberDesc(national_number_pattern=u'800\d{7}', possible_number_pattern=u'\d{10}'), premium_rate=PhoneNumberDesc( national_number_pattern=u'900([135]\d{6}|9\d{7})', possible_number_pattern=u'\d{10,11}'), shared_cost=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), personal_number=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), voip=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), pager=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), uan=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), national_prefix=u'0', national_prefix_for_parsing=u'0', number_format=[ NumberFormat(pattern='(\d{3})(\d{3,8})', format=u'\\1 \\2', leading_digits_pattern=['2|3[3-9]|906|[4-9][1-9]1'], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='(\d{2})(\d{4,9})', format=u'\\1/\\2', leading_digits_pattern=['[34]0|[68]9'], national_prefix_formatting_rule=u'0\\1'), NumberFormat( pattern='([4-9]\d)(\d{2})', format=u'\\1 \\2', leading_digits_pattern=['[4-9]', '[4-6]|[7-9](?:\d[1-9]|[1-9]\d)'], national_prefix_formatting_rule=u'0\\1'), NumberFormat( pattern='([4-9]\d{3})(\d{2,7})', format=u'\\1 \\2', leading_digits_pattern=['[4-9]', '[4-6]|[7-9](?:\d[1-9]|[1-9]\d)'], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='(\d{3})(\d{1})(\d{6})', format=u'\\1 \\2 \\3', leading_digits_pattern=['800'], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='(\d{3})(\d{3,4})(\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['900'], national_prefix_formatting_rule=u'0\\1') ])
"""Auto-generated file, do not edit by hand. MV metadata""" from phonenumbers import NumberFormat, PhoneNumberDesc, PhoneMetadata PHONE_METADATA_MV = PhoneMetadata(id='MV', country_code=960, international_prefix='0(?:0|19)', general_desc=PhoneNumberDesc(national_number_pattern='[367]\\d{6}|9(?:00\\d{7}|\\d{6})', possible_number_pattern='\\d{7,10}'), fixed_line=PhoneNumberDesc(national_number_pattern='(?:3(?:0[01]|3[0-59]|)|6(?:[567][02468]|8[024689]|90))\\d{4}', possible_number_pattern='\\d{7}', example_number='6701234'), mobile=PhoneNumberDesc(national_number_pattern='(?:7[3-9]|9[6-9])\\d{5}', possible_number_pattern='\\d{7}', example_number='7712345'), toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), premium_rate=PhoneNumberDesc(national_number_pattern='900\\d{7}', possible_number_pattern='\\d{10}', example_number='9001234567'), shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='781\\d{4}', possible_number_pattern='\\d{7}', example_number='7812345'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), preferred_international_prefix=u'00', number_format=[NumberFormat(pattern='(\\d{3})(\\d{4})', format=u'\\1-\\2', leading_digits_pattern=['[367]|9(?:[1-9]|0[1-9])']), NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['900'])])
PHONE_METADATA_CD = PhoneMetadata( id='CD', country_code=243, international_prefix='00', general_desc=PhoneNumberDesc( national_number_pattern=u'[89]\d{8}|[1-6]\d{6}', possible_number_pattern=u'\d{7,9}'), fixed_line=PhoneNumberDesc(national_number_pattern=u'[1-6]\d{6}', possible_number_pattern=u'\d{7}', example_number=u'1234567'), mobile=PhoneNumberDesc( national_number_pattern=u'(?:8[0-2489]|9[7-9])\d{7}', possible_number_pattern=u'\d{9}', example_number=u'991234567'), toll_free=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), premium_rate=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), shared_cost=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), personal_number=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), voip=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), pager=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), uan=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), national_prefix=u'0', national_prefix_for_parsing=u'0', number_format=[ NumberFormat(pattern='([89]\d{2})(\d{3})(\d{3})', format=u'\\1 \\2 \\3', leading_digits_pattern=['[89]'], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='([1-6]\d)(\d{5})', format=u'\\1 \\2', leading_digits_pattern=['[1-6]'], national_prefix_formatting_rule=u'0\\1') ])
PHONE_METADATA_ZM = PhoneMetadata( id='ZM', country_code=260, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern=u'[289]\d{8}', possible_number_pattern=u'\d{9}'), fixed_line=PhoneNumberDesc(national_number_pattern=u'21[1-8]\d{6}', possible_number_pattern=u'\d{9}', example_number=u'211234567'), mobile=PhoneNumberDesc( national_number_pattern=u'9(?:55|6[4-9]|7[4-9])\d{6}', possible_number_pattern=u'\d{9}', example_number=u'955123456'), toll_free=PhoneNumberDesc(national_number_pattern=u'800\d{6}', possible_number_pattern=u'\d{9}', example_number=u'800123456'), premium_rate=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), shared_cost=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), personal_number=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), voip=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), pager=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), uan=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), national_prefix=u'0', national_prefix_for_parsing=u'0', number_format=[ NumberFormat(pattern='([29]\d)(\d{7})', format=u'\\1 \\2', leading_digits_pattern=['[29]'], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='(800)(\d{3})(\d{3})', format=u'\\1 \\2 \\3', leading_digits_pattern=['8'], national_prefix_formatting_rule=u'0\\1') ])
PHONE_METADATA_MM = PhoneMetadata( id='MM', country_code=95, international_prefix='00', general_desc=PhoneNumberDesc( national_number_pattern=u'[124-8]\d{5,7}|9\d{7,8}', possible_number_pattern=u'\d{5,9}'), fixed_line=PhoneNumberDesc( national_number_pattern= u'(?:1\d|2|4[2-6]|5[2-9]|6\d|7[0-5]|8[1-6])\d{5}|1333\d{4}', possible_number_pattern=u'\d{5,8}', example_number=u'1234567'), mobile=PhoneNumberDesc(national_number_pattern=u'9(?:[25689]\d|444)\d{5}', possible_number_pattern=u'\d{8,9}', example_number=u'92123456'), toll_free=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), premium_rate=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), shared_cost=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), personal_number=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), voip=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), pager=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), uan=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), number_format=[ NumberFormat(pattern='(1)(\d{3})(\d{3})', format=u'\\1 \\2 \\3', leading_digits_pattern=['1']), NumberFormat(pattern='(1)(3)(33\d)(\d{3})', format=u'\\1 \\2 \\3 \\4', leading_digits_pattern=['133', '1333']), NumberFormat(pattern='(2)(\d{2})(\d{3})', format=u'\\1 \\2 \\3', leading_digits_pattern=['2']), NumberFormat(pattern='(\d{2})(\d{2})(\d{3})', format=u'\\1 \\2 \\3', leading_digits_pattern=['[4-8]']), NumberFormat(pattern='(9444)(\d{5})', format=u'\\1 \\2', leading_digits_pattern=['94']), NumberFormat(pattern='(9)([25689]\d{2})(\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['9[25689]']) ])
def testMetadataPrint(self): for callingCode in PhoneMetadata._region_available.keys(): metadata = PhoneMetadata.metadata_for_region("GB") str(metadata)
"""Auto-generated file, do not edit by hand. LY metadata""" from phonenumbers import NumberFormat, PhoneNumberDesc, PhoneMetadata PHONE_METADATA_LY = PhoneMetadata(id='LY', country_code=218, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern='[25679]\\d{8}', possible_number_pattern='\\d{7,9}'), fixed_line=PhoneNumberDesc(national_number_pattern='(?:2[1345]|5[1347]|6[123479]|71)\\d{7}', possible_number_pattern='\\d{7,9}', example_number='212345678'), mobile=PhoneNumberDesc(national_number_pattern='9[1-6]\\d{7}', possible_number_pattern='\\d{9}', example_number='912345678'), toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), national_prefix=u'0', national_prefix_for_parsing=u'0', number_format=[NumberFormat(pattern='([25679]\\d)(\\d{7})', format=u'\\1-\\2', national_prefix_formatting_rule=u'0\\1')])
PHONE_METADATA_AU = PhoneMetadata( id='AU', country_code=61, international_prefix='(?:14(?:1[14]|34|4[17]|[56]6|7[47]|88))?001[14-689]', general_desc=PhoneNumberDesc(national_number_pattern=u'[1-578]\d{5,9}', possible_number_pattern=u'\d{6,10}'), fixed_line=PhoneNumberDesc(national_number_pattern=u'[2378]\d{8}', possible_number_pattern=u'\d{8,9}', example_number=u'212345678'), mobile=PhoneNumberDesc( national_number_pattern= u'4(?:[0-2]\d|3[0-57-9]|4[47-9]|5[0-37-9]|6[6-9]|7[07-9]|8[7-9])\d{6}', possible_number_pattern=u'\d{9}', example_number=u'412345678'), toll_free=PhoneNumberDesc( national_number_pattern=u'1(?:80(?:0\d{2})?|3(?:00\d{2})?)\d{4}', possible_number_pattern=u'\d{6,10}', example_number=u'1800123456'), premium_rate=PhoneNumberDesc(national_number_pattern=u'190[0126]\d{6}', possible_number_pattern=u'\d{10}', example_number=u'1900123456'), shared_cost=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), personal_number=PhoneNumberDesc(national_number_pattern=u'500\d{6}', possible_number_pattern=u'\d{9}', example_number=u'500123456'), voip=PhoneNumberDesc(national_number_pattern=u'550\d{6}', possible_number_pattern=u'\d{9}', example_number=u'550123456'), pager=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), uan=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), preferred_international_prefix=u'0011', national_prefix=u'0', national_prefix_for_parsing=u'0', number_format=[ NumberFormat(pattern='([2378])(\d{4})(\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['[2378]'], national_prefix_formatting_rule=u'(0\\1)'), NumberFormat(pattern='(4\d{2})(\d{3})(\d{3})', format=u'\\1 \\2 \\3', leading_digits_pattern=['4'], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='(5[05]0)(\d{3})(\d{3})', format=u'\\1 \\2 \\3', leading_digits_pattern=['5'], national_prefix_formatting_rule=u'0\\1'), NumberFormat(pattern='(1[389]\d{2})(\d{3})(\d{3})', format=u'\\1 \\2 \\3', leading_digits_pattern=['1(?:[38]0|9)', '1(?:[38]00|9)'], national_prefix_formatting_rule=u'\\1'), NumberFormat(pattern='(180)(\d{4})', format=u'\\1 \\2', leading_digits_pattern=['180', '180[1-9]'], national_prefix_formatting_rule=u'\\1'), NumberFormat(pattern='(13)(\d{2})(\d{2})', format=u'\\1 \\2 \\3', leading_digits_pattern=['13[1-9]'], national_prefix_formatting_rule=u'\\1') ])
"""Auto-generated file, do not edit by hand. AC metadata""" from phonenumbers import NumberFormat, PhoneNumberDesc, PhoneMetadata PHONE_METADATA_AC = PhoneMetadata(id='AC', country_code=247, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern='[2-46]\\d{3}', possible_number_pattern='\\d{4}'), fixed_line=PhoneNumberDesc(national_number_pattern='(?:3[0-5]|4[4-6]|[26]\\d)\\d{2}', possible_number_pattern='\\d{4}', example_number='6889'), mobile=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'))
PHONE_METADATA_GA = PhoneMetadata( id='GA', country_code=241, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern='[4-9]\\d{5}|0\\d{7}', possible_number_pattern='\\d{6,8}'), fixed_line=PhoneNumberDesc( national_number_pattern= '(?:4(?:[04-8]\\d|2[04])|(?:5[04-689]|6[024-9]|7\\d|8[236]|9[02368])\\d)\\d{3}', possible_number_pattern='\\d{6}', example_number='441234'), mobile=PhoneNumberDesc( national_number_pattern= '0(?:5(?:0[89]|3[0-4]|8[0-26]|9[238])|6(?:0[3-7]|1[01]|2[0-7]|6[0-589]|71|83|9[57])|7(?:1[2-5]|2[89]|3[35-9]|4[01]|5[0-347-9]|[67]\\d|8[457-9]|9[0146]))\\d{4}', possible_number_pattern='\\d{8}', example_number='06031234'), toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), number_format=[ NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})', format=u'\\1 \\2 \\3', leading_digits_pattern=['[4-9]']), NumberFormat(pattern='(0\\d)(\\d{2})(\\d{2})(\\d{2})', format=u'\\1 \\2 \\3 \\4', leading_digits_pattern=['0']) ], leading_zero_possible=True)
PHONE_METADATA_BR = PhoneMetadata( id='BR', country_code=55, international_prefix='00(?:1[45]|2[135]|[34]1|43)', general_desc=PhoneNumberDesc(national_number_pattern=u'[1-9]\d{7,9}', possible_number_pattern=u'\d{8,10}'), fixed_line=PhoneNumberDesc( national_number_pattern= u'(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\d{7}', possible_number_pattern=u'\d{8,10}', example_number=u'1123456789'), mobile=PhoneNumberDesc( national_number_pattern= u'(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[6-9]\d{7}', possible_number_pattern=u'\d{10}', example_number=u'1161234567'), toll_free=PhoneNumberDesc(national_number_pattern=u'800\d{6,7}', possible_number_pattern=u'\d{8,10}', example_number=u'800123456'), premium_rate=PhoneNumberDesc(national_number_pattern=u'[359]00\d{6,7}', possible_number_pattern=u'\d{8,10}', example_number=u'300123456'), shared_cost=PhoneNumberDesc(national_number_pattern=u'(?:400\d|3003)\d{4}', possible_number_pattern=u'\d{8,10}', example_number=u'40041234'), personal_number=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), voip=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), pager=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), uan=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern=u'NA', possible_number_pattern=u'NA'), national_prefix=u'0', national_prefix_for_parsing=u'0(?:(1[245]|2[135]|[34]1)(\d{10}))?', national_prefix_transform_rule=u'\\2', number_format=[ NumberFormat(pattern='(\d{2})(\d{4})(\d{4})', format=u'\\1 \\2-\\3', leading_digits_pattern=['[1-9][1-9]'], national_prefix_formatting_rule=u'(\\1)', domestic_carrier_code_formatting_rule=u'0 $CC (\\1)'), NumberFormat(pattern='([34]00\d)(\d{4})', format=u'\\1-\\2', leading_digits_pattern=['[34]00', '400|3003']), NumberFormat(pattern='([3589]00)(\d{2,3})(\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['[3589]00'], national_prefix_formatting_rule=u'0\\1') ])
PHONE_METADATA_SV = PhoneMetadata( id='SV', country_code=503, international_prefix='00', general_desc=PhoneNumberDesc( national_number_pattern='[27]\\d{7}|[89]\\d{6}(?:\\d{4})?', possible_number_pattern='\\d{7,8}|\\d{11}'), fixed_line=PhoneNumberDesc(national_number_pattern='2[1-6]\\d{6}', possible_number_pattern='\\d{8}', example_number='21234567'), mobile=PhoneNumberDesc(national_number_pattern='7\\d{7}', possible_number_pattern='\\d{8}', example_number='70123456'), toll_free=PhoneNumberDesc(national_number_pattern='800\\d{4}(?:\\d{4})?', possible_number_pattern='\\d{7}(?:\\d{4})?', example_number='8001234'), premium_rate=PhoneNumberDesc( national_number_pattern='900\\d{4}(?:\\d{4})?', possible_number_pattern='\\d{7}(?:\\d{4})?', example_number='9001234'), shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'), number_format=[ NumberFormat(pattern='(\\d{4})(\\d{4})', format=u'\\1 \\2', leading_digits_pattern=['[27]']), NumberFormat(pattern='(\\d{3})(\\d{4})', format=u'\\1 \\2', leading_digits_pattern=['[89]']), NumberFormat(pattern='(\\d{3})(\\d{4})(\\d{4})', format=u'\\1 \\2 \\3', leading_digits_pattern=['[89]']) ])