コード例 #1
0
 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))
コード例 #2
0
 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))
コード例 #3
0
 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)
コード例 #4
0
 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)
コード例 #5
0
    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))
コード例 #6
0
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'])
    ])
コード例 #7
0
"""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')])
コード例 #8
0
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'])
    ])
コード例 #9
0
"""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')])
コード例 #10
0
"""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')])
コード例 #11
0
"""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)
コード例 #12
0
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')
    ])
コード例 #13
0
 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)
コード例 #14
0
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')
    ])
コード例 #15
0
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')
    ])
コード例 #16
0
"""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)
コード例 #17
0
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')
    ])
コード例 #18
0
"""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')
コード例 #19
0
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'])
    ])
コード例 #20
0
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')
コード例 #21
0
"""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')])
コード例 #22
0
"""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'])])
コード例 #23
0
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)
コード例 #24
0
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')
    ])
コード例 #25
0
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')
    ])
コード例 #26
0
"""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'])])
コード例 #27
0
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')
    ])
コード例 #28
0
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')
    ])
コード例 #29
0
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]'])
    ])
コード例 #30
0
 def testMetadataPrint(self):
     for callingCode in PhoneMetadata._region_available.keys():
         metadata = PhoneMetadata.metadata_for_region("GB")
         str(metadata)
コード例 #31
0
"""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')])
コード例 #32
0
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')
    ])
コード例 #33
0
"""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'))
コード例 #34
0
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)
コード例 #35
0
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')
    ])
コード例 #36
0
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]'])
    ])