Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-phonenumbers for
openSUSE:Factory checked in at 2025-09-30 17:41:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-phonenumbers (Old)
and /work/SRC/openSUSE:Factory/.python-phonenumbers.new.11973 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-phonenumbers"
Tue Sep 30 17:41:26 2025 rev:42 rq:1308065 version:9.0.15
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-phonenumbers/python-phonenumbers.changes
2025-08-13 16:34:19.037941217 +0200
+++
/work/SRC/openSUSE:Factory/.python-phonenumbers.new.11973/python-phonenumbers.changes
2025-09-30 17:43:19.939640939 +0200
@@ -1,0 +2,6 @@
+Mon Sep 29 21:00:51 UTC 2025 - Dirk Müller <[email protected]>
+
+- update to 9.0.15:
+ * Merge upstream 9.0.15 phonenumber updates
+
+-------------------------------------------------------------------
Old:
----
phonenumbers-9.0.11.tar.gz
New:
----
phonenumbers-9.0.15.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-phonenumbers.spec ++++++
--- /var/tmp/diff_new_pack.5e4zuN/_old 2025-09-30 17:43:20.639670849 +0200
+++ /var/tmp/diff_new_pack.5e4zuN/_new 2025-09-30 17:43:20.643671021 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-phonenumbers
#
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-phonenumbers
-Version: 9.0.11
+Version: 9.0.15
Release: 0
Summary: Python version of Google's common library for international
phone numbers
License: Apache-2.0
++++++ phonenumbers-9.0.11.tar.gz -> phonenumbers-9.0.15.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/PKG-INFO
new/phonenumbers-9.0.15/PKG-INFO
--- old/phonenumbers-9.0.11/PKG-INFO 2025-08-07 17:42:33.610514900 +0200
+++ new/phonenumbers-9.0.15/PKG-INFO 2025-09-26 07:32:21.340917300 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: phonenumbers
-Version: 9.0.11
+Version: 9.0.15
Summary: Python version of Google's common library for parsing, formatting,
storing and validating international phone numbers.
Home-page: https://github.com/daviddrysdale/python-phonenumbers
Author: David Drysdale
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/__init__.py
new/phonenumbers-9.0.15/phonenumbers/__init__.py
--- old/phonenumbers-9.0.11/phonenumbers/__init__.py 2025-08-07
17:31:00.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/__init__.py 2025-09-26
07:22:26.000000000 +0200
@@ -146,7 +146,7 @@
# Version number is taken from the upstream libphonenumber version
# together with an indication of the version of the Python-specific code.
-__version__ = "9.0.11"
+__version__ = "9.0.15"
__all__ = ['PhoneNumber', 'CountryCodeSource', 'FrozenPhoneNumber',
'REGION_CODE_FOR_NON_GEO_ENTITY', 'NumberFormat',
'PhoneNumberDesc', 'PhoneMetadata',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/phonenumbers-9.0.11/phonenumbers/carrierdata/data0.py
new/phonenumbers-9.0.15/phonenumbers/carrierdata/data0.py
--- old/phonenumbers-9.0.11/phonenumbers/carrierdata/data0.py 2025-08-07
17:31:00.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/carrierdata/data0.py 2025-09-26
07:22:26.000000000 +0200
@@ -819,6 +819,8 @@
'22059':{'en': 'QCell'},
'2206':{'en': 'Comium'},
'2207':{'en': 'Africell'},
+ '22086':{'en': 'Comium'},
+ '22087':{'en': 'Comium'},
'2209':{'en': 'Gamcel'},
'22170':{'en': 'Expresso'},
'22171':{'en': 'Orange'},
@@ -1312,6 +1314,7 @@
'254121':{'en': 'Infura'},
'254124':{'en': 'Finserve'},
'25413':{'en': 'NRG Media Limited'},
+ '25414':{'en': 'Safaricom'},
'25470':{'en': 'Safaricom'},
'25471':{'en': 'Safaricom'},
'25472':{'en': 'Safaricom'},
@@ -1366,6 +1369,7 @@
'25678':{'en': 'MTN'},
'256790':{'en': 'MTN'},
'256791':{'en': 'MTN'},
+ '256792':{'en': 'MTN'},
'256798':{'en': 'Africell'},
'256799':{'en': 'Africell'},
'25729':{'en': 'Leo'},
@@ -1811,7 +1815,10 @@
'30694':{'en': 'Vodafone'},
'306950':{'en': 'Vodafone'},
'306951':{'en': 'Vodafone'},
- '30695200':{'en': 'Compatel'},
+ '30695200':{'en': 'Vodafone'},
+ '30695201':{'en': 'Vodafone'},
+ '30695202':{'en': 'Vodafone'},
+ '30695203':{'en': 'Vodafone'},
'3069522':{'en': 'Vodafone'},
'3069523':{'en': 'Vodafone'},
'3069524':{'en': 'BWS'},
@@ -1822,8 +1829,10 @@
'30695330':{'en': 'Apifon'},
'30695340':{'en': 'AMD Telecom'},
'30695355':{'en': 'Cyta'},
- '30695400':{'en': 'AMD Telecom'},
- '30695410':{'en': 'MI Carrier Services'},
+ '3069540':{'en': 'OTE'},
+ '3069541':{'en': 'OTE'},
+ '3069542':{'en': 'OTE'},
+ '3069543':{'en': 'OTE'},
'30695456':{'en': 'BWS'},
'30695490':{'en': 'MI Carrier Services'},
'30695499':{'en': 'M-STAT'},
@@ -2993,8 +3002,7 @@
'3706668':{'en': u('BIT\u0116')},
'3706669':{'en': u('BIT\u0116')},
'3706670':{'en': u('BIT\u0116')},
- '37066711':{'en': u('BIT\u0116')},
- '37066719':{'en': u('BIT\u0116')},
+ '3706671':{'en': u('BIT\u0116')},
'37066722':{'en': 'Tele 2'},
'37066723':{'en': 'Tele 2'},
'37066724':{'en': 'Tele 2'},
@@ -3237,7 +3245,7 @@
'371298':{'en': 'Tele2'},
'371299':{'en': 'Tele2'},
'37250':{'en': 'Telia Eesti AS'},
- '372519':{'en': 'Telia Eesti AS'},
+ '37251':{'en': 'Telia Eesti AS'},
'37252':{'en': 'Telia Eesti AS'},
'372530':{'en': 'Telia Eesti AS'},
'372533':{'en': 'Telia Eesti AS'},
@@ -3567,6 +3575,8 @@
'417557':{'en': 'Swisscom'},
'41757':{'en': 'Swisscom'},
'417600':{'en': 'Sunrise'},
+ '417601':{'en': 'Sunrise'},
+ '417602':{'en': 'Sunrise'},
'417603':{'en': 'Sunrise'},
'417604':{'en': 'Sunrise'},
'417605':{'en': 'Sunrise'},
@@ -3654,7 +3664,7 @@
'420607':{'en': 'O2'},
'420608':{'en': 'Vodafone'},
'420702':{'en': 'O2'},
- '42070300':{'en': 'T-Mobile'},
+ '4207030':{'en': 'T-Mobile'},
'42070301':{'en': 'YATECO'},
'4207031':{'en': 'T-Mobile'},
'4207032':{'en': 'T-Mobile'},
@@ -3704,7 +3714,8 @@
'4207305':{'en': 'T-Mobile'},
'4207306':{'en': 'T-Mobile'},
'42073070':{'en': 'T-Mobile'},
- '42073072':{'en': 'Amcatel'},
+ '42073071':{'en': 'T-Mobile'},
+ '42073072':{'en': 'T-Mobile'},
'42073073':{'en': 'T-Mobile'},
'42073077':{'en': 'T-Mobile'},
'4207308':{'en': 'T-Mobile'},
@@ -6048,6 +6059,13 @@
'467908':{'en': 'Tele2 Sverige'},
'467909':{'en': 'Tele2 Sverige'},
'467910':{'en': 'TELL ESS AB'},
+ '4679110':{'en': 'Setera'},
+ '4679111':{'en': 'Setera'},
+ '4679112':{'en': 'Setera'},
+ '4679113':{'en': 'Setera'},
+ '4679114':{'en': 'Setera'},
+ '4679115':{'en': 'Telavox AB'},
+ '467915':{'en': 'TeliaSonera'},
'467930':{'en': 'HI3G Access'},
'467931':{'en': 'HI3G Access'},
'467932':{'en': 'HI3G Access'},
@@ -6801,6 +6819,7 @@
'491526':{'en': 'Vodafone'},
'491529':{'en': 'Vodafone/Truphone'},
'491531':{'en': 'Mtel'},
+ '491533':{'en': 'Simsalasim'},
'4915510':{'en': 'LEBARA'},
'4915511':{'en': 'LEBARA'},
'491555':{'en': '1&1 Mobilfunk'},
@@ -10000,23 +10019,4 @@
'553199785':{'en': 'Telemig Celular'},
'553199786':{'en': 'Telemig Celular'},
'553199787':{'en': 'Telemig Celular'},
- '553199788':{'en': 'Telemig Celular'},
- '553199789':{'en': 'Telemig Celular'},
- '553199791':{'en': 'Telemig Celular'},
- '553199792':{'en': 'Telemig Celular'},
- '553199793':{'en': 'Telemig Celular'},
- '553199794':{'en': 'Telemig Celular'},
- '553199795':{'en': 'Telemig Celular'},
- '553199796':{'en': 'Telemig Celular'},
- '553199797':{'en': 'Telemig Celular'},
- '553199798':{'en': 'Telemig Celular'},
- '553199799':{'en': 'Telemig Celular'},
- '5531998':{'en': 'Telemig Celular'},
- '553199800':{'en': 'TIM'},
- '553199810':{'en': 'TIM'},
- '553199820':{'en': 'TIM'},
- '553199830':{'en': 'TIM'},
- '553199840':{'en': 'TIM'},
- '553199850':{'en': 'TIM'},
- '553199860':{'en': 'TIM'},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/phonenumbers-9.0.11/phonenumbers/carrierdata/data1.py
new/phonenumbers-9.0.15/phonenumbers/carrierdata/data1.py
--- old/phonenumbers-9.0.11/phonenumbers/carrierdata/data1.py 2025-08-07
17:31:00.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/carrierdata/data1.py 2025-09-26
07:22:26.000000000 +0200
@@ -19,6 +19,25 @@
# limitations under the License.
data = {
+ '553199788':{'en': 'Telemig Celular'},
+ '553199789':{'en': 'Telemig Celular'},
+ '553199791':{'en': 'Telemig Celular'},
+ '553199792':{'en': 'Telemig Celular'},
+ '553199793':{'en': 'Telemig Celular'},
+ '553199794':{'en': 'Telemig Celular'},
+ '553199795':{'en': 'Telemig Celular'},
+ '553199796':{'en': 'Telemig Celular'},
+ '553199797':{'en': 'Telemig Celular'},
+ '553199798':{'en': 'Telemig Celular'},
+ '553199799':{'en': 'Telemig Celular'},
+ '5531998':{'en': 'Telemig Celular'},
+ '553199800':{'en': 'TIM'},
+ '553199810':{'en': 'TIM'},
+ '553199820':{'en': 'TIM'},
+ '553199830':{'en': 'TIM'},
+ '553199840':{'en': 'TIM'},
+ '553199850':{'en': 'TIM'},
+ '553199860':{'en': 'TIM'},
'553199870':{'en': 'TIM'},
'553199880':{'en': 'TIM'},
'553199890':{'en': 'TIM'},
@@ -10000,23 +10019,4 @@
'5730593':{'en': 'Tigo'},
'5730594':{'en': 'Tigo'},
'5730595':{'en': 'Tigo'},
- '573102':{'en': 'Claro'},
- '573103':{'en': 'Claro'},
- '573104':{'en': 'Claro'},
- '573105':{'en': 'Claro'},
- '573106':{'en': 'Claro'},
- '573107':{'en': 'Claro'},
- '573108':{'en': 'Claro'},
- '5731091':{'en': 'Claro'},
- '5731092':{'en': 'Claro'},
- '5731093':{'en': 'Claro'},
- '57310990':{'en': 'Claro'},
- '57310991':{'en': 'Claro'},
- '573112':{'en': 'Claro'},
- '573113':{'en': 'Claro'},
- '573114':{'en': 'Claro'},
- '573115':{'en': 'Claro'},
- '573116':{'en': 'Claro'},
- '573117':{'en': 'Claro'},
- '573118':{'en': 'Claro'},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/phonenumbers-9.0.11/phonenumbers/carrierdata/data2.py
new/phonenumbers-9.0.15/phonenumbers/carrierdata/data2.py
--- old/phonenumbers-9.0.11/phonenumbers/carrierdata/data2.py 2025-08-07
17:31:00.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/carrierdata/data2.py 2025-09-26
07:22:26.000000000 +0200
@@ -19,6 +19,25 @@
# limitations under the License.
data = {
+ '573102':{'en': 'Claro'},
+ '573103':{'en': 'Claro'},
+ '573104':{'en': 'Claro'},
+ '573105':{'en': 'Claro'},
+ '573106':{'en': 'Claro'},
+ '573107':{'en': 'Claro'},
+ '573108':{'en': 'Claro'},
+ '5731091':{'en': 'Claro'},
+ '5731092':{'en': 'Claro'},
+ '5731093':{'en': 'Claro'},
+ '57310990':{'en': 'Claro'},
+ '57310991':{'en': 'Claro'},
+ '573112':{'en': 'Claro'},
+ '573113':{'en': 'Claro'},
+ '573114':{'en': 'Claro'},
+ '573115':{'en': 'Claro'},
+ '573116':{'en': 'Claro'},
+ '573117':{'en': 'Claro'},
+ '573118':{'en': 'Claro'},
'573122':{'en': 'Claro'},
'573123':{'en': 'Claro'},
'573124':{'en': 'Claro'},
@@ -224,6 +243,7 @@
'5917498':{'en': 'Nuevatel'},
'5917499':{'en': 'Nuevatel'},
'592510':{'en': 'Digicel Guyana'},
+ '592511':{'en': 'Digicel Guyana'},
'592600':{'en': 'Digicel Guyana'},
'592601':{'en': 'Digicel Guyana'},
'592602':{'en': 'Digicel Guyana'},
@@ -423,6 +443,7 @@
'59670910':{'en': u('Free Cara\u00efbe')},
'59670912':{'en': 'Digicel'},
'59670913':{'en': 'Orange'},
+ '5976':{'en': 'Telesur'},
'59771':{'en': 'Digicel'},
'59772':{'en': 'Digicel'},
'59774':{'en': 'Digicel'},
@@ -1443,7 +1464,15 @@
'658971':{'en': 'Circle.Life'},
'658972':{'en': 'SingTel'},
'658976':{'en': 'SingTel'},
- '65898':{'en': 'Simba'},
+ '658977':{'en': 'SingTel'},
+ '658980':{'en': 'Simba'},
+ '658982':{'en': 'SingTel'},
+ '658983':{'en': 'SingTel'},
+ '658984':{'en': 'SingTel'},
+ '658985':{'en': 'SingTel'},
+ '658986':{'en': 'Simba'},
+ '658987':{'en': 'Simba'},
+ '658988':{'en': 'Simba'},
'659001':{'en': 'StarHub'},
'659002':{'en': 'StarHub'},
'659003':{'en': 'StarHub'},
@@ -4641,7 +4670,7 @@
'86189':{'en': 'China Telecom', 'zh': u('\u4e2d\u56fd\u7535\u4fe1'),
'zh_Hant': u('\u4e2d\u570b\u96fb\u4fe1')},
'86190':{'en': 'China Telecom', 'zh': u('\u4e2d\u56fd\u7535\u4fe1')},
'86191':{'en': 'China Telecom', 'zh': u('\u4e2d\u56fd\u7535\u4fe1')},
- '86192':{'en': 'CBN', 'zh': 'CBN'},
+ '86192':{'en': 'China Broadnet', 'zh': u('\u4e2d\u56fd\u5e7f\u7535')},
'86193':{'en': 'China Telecom', 'zh': u('\u4e2d\u56fd\u7535\u4fe1')},
'86195':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')},
'86196':{'en': 'China Unicom', 'zh': u('\u4e2d\u56fd\u8054\u901a')},
@@ -8312,6 +8341,7 @@
'96871':{'en': 'Omantel'},
'96872':{'en': 'Omantel'},
'96874':{'en': 'Ooredoo'},
+ '96875':{'en': 'Vodafone Oman'},
'96876':{'en': 'Vodafone Oman'},
'96877':{'en': 'Vodafone Oman'},
'96878':{'en': 'Ooredoo'},
@@ -8449,6 +8479,7 @@
'97477':{'en': 'Vodafone'},
'9751':{'en': 'B-Mobile of Bhutan Telecom'},
'97577':{'en': 'TashiCell of Tashi InfoComm'},
+ '97587':{'en': 'TashiCell of Tashi InfoComm'},
'97650':{'en': 'Unitel'},
'97655':{'en': 'Unitel'},
'97660':{'en': 'ONDO'},
@@ -8902,7 +8933,7 @@
'9988':{'en': 'MobiUZ'},
'99890':{'en': 'Beeline'},
'99891':{'en': 'Beeline'},
- '99892':{'en': 'MobiUZ'},
+ '99892':{'en': 'Beeline'},
'99893':{'en': 'Ucell'},
'99894':{'en': 'Ucell'},
'99895':{'en': 'Uzbektelecom'},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_BT.py
new/phonenumbers-9.0.15/phonenumbers/data/region_BT.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_BT.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_BT.py 2025-09-26
07:22:22.000000000 +0200
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_BT = PhoneMetadata(id='BT', country_code=975,
international_prefix='00',
-
general_desc=PhoneNumberDesc(national_number_pattern='[17]\\d{7}|[2-8]\\d{6}',
possible_length=(7, 8), possible_length_local_only=(6,)),
+
general_desc=PhoneNumberDesc(national_number_pattern='[178]\\d{7}|[2-8]\\d{6}',
possible_length=(7, 8), possible_length_local_only=(6,)),
fixed_line=PhoneNumberDesc(national_number_pattern='(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\d{5}',
example_number='2345678', possible_length=(7,),
possible_length_local_only=(6,)),
- mobile=PhoneNumberDesc(national_number_pattern='(?:1[67]|77)\\d{6}',
example_number='17123456', possible_length=(8,)),
+ mobile=PhoneNumberDesc(national_number_pattern='(?:1[67]|[78]7)\\d{6}',
example_number='17123456', possible_length=(8,)),
number_format=[NumberFormat(pattern='(\\d{3})(\\d{3})', format='\\1 \\2',
leading_digits_pattern=['[2-7]']),
- NumberFormat(pattern='(\\d)(\\d{3})(\\d{3})', format='\\1 \\2 \\3',
leading_digits_pattern=['[2-68]|7[246]']),
- NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1
\\2 \\3 \\4', leading_digits_pattern=['1[67]|7'])],
- intl_number_format=[NumberFormat(pattern='(\\d)(\\d{3})(\\d{3})',
format='\\1 \\2 \\3', leading_digits_pattern=['[2-68]|7[246]']),
- NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1
\\2 \\3 \\4', leading_digits_pattern=['1[67]|7'])])
+ NumberFormat(pattern='(\\d)(\\d{3})(\\d{3})', format='\\1 \\2 \\3',
leading_digits_pattern=['[2-6]|7[246]|8[2-4]']),
+ NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1
\\2 \\3 \\4', leading_digits_pattern=['1[67]|[78]'])],
+ intl_number_format=[NumberFormat(pattern='(\\d)(\\d{3})(\\d{3})',
format='\\1 \\2 \\3', leading_digits_pattern=['[2-6]|7[246]|8[2-4]']),
+ NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1
\\2 \\3 \\4', leading_digits_pattern=['1[67]|[78]'])])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_CZ.py
new/phonenumbers-9.0.15/phonenumbers/data/region_CZ.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_CZ.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_CZ.py 2025-09-26
07:22:22.000000000 +0200
@@ -4,7 +4,7 @@
PHONE_METADATA_CZ = PhoneMetadata(id='CZ', country_code=420,
international_prefix='00',
general_desc=PhoneNumberDesc(national_number_pattern='(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}',
possible_length=(9, 10, 11, 12)),
fixed_line=PhoneNumberDesc(national_number_pattern='(?:2\\d|3[1257-9]|4[16-9]|5[13-9])\\d{7}',
example_number='212345678', possible_length=(9,)),
-
mobile=PhoneNumberDesc(national_number_pattern='(?:60[1-8]\\d|7(?:0(?:[2-5]\\d|60)|19[0-4]|[2379]\\d\\d))\\d{5}',
example_number='601123456', possible_length=(9,)),
+
mobile=PhoneNumberDesc(national_number_pattern='7(?:060\\d|19(?:[0-4]\\d|50))\\d{4}|(?:60[1-8]|7(?:0[2-5]|[2379]\\d))\\d{6}',
example_number='601123456', possible_length=(9,)),
toll_free=PhoneNumberDesc(national_number_pattern='800\\d{6}',
example_number='800123456', possible_length=(9,)),
premium_rate=PhoneNumberDesc(national_number_pattern='9(?:0[05689]|76)\\d{6}',
example_number='900123456', possible_length=(9,)),
shared_cost=PhoneNumberDesc(national_number_pattern='8[134]\\d{7}',
example_number='811234567', possible_length=(9,)),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_DE.py
new/phonenumbers-9.0.15/phonenumbers/data/region_DE.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_DE.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_DE.py 2025-09-26
07:22:22.000000000 +0200
@@ -4,7 +4,7 @@
PHONE_METADATA_DE = PhoneMetadata(id='DE', country_code=49,
international_prefix='00',
general_desc=PhoneNumberDesc(national_number_pattern='[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}',
possible_length=(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15),
possible_length_local_only=(2, 3)),
fixed_line=PhoneNumberDesc(national_number_pattern='32\\d{9,11}|49[1-6]\\d{10}|322\\d{6}|49[0-7]\\d{3,9}|(?:[34]0|[68]9)\\d{3,13}|(?:2(?:0[1-689]|[1-3569]\\d|4[0-8]|7[1-7]|8[0-7])|3(?:[3569]\\d|4[0-79]|7[1-7]|8[1-8])|4(?:1[02-9]|[2-48]\\d|5[0-6]|6[0-8]|7[0-79])|5(?:0[2-8]|[124-6]\\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-358]\\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\\d|[4-6][0-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|2\\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\\d|[589][0-7]|6[0-8]|7[0-467]))\\d{3,12}',
example_number='30123456', possible_length=(5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15), possible_length_local_only=(2, 3, 4)),
-
mobile=PhoneNumberDesc(national_number_pattern='15310\\d{6}|1(?:5[0-25-9]\\d|7[013-5])\\d{7}|1(?:6[023]|7[26-9])\\d{7,8}',
example_number='15123456789', possible_length=(10, 11)),
+
mobile=PhoneNumberDesc(national_number_pattern='1(?:(?:5(?:[0-25-9]\\d\\d|3(?:10|33))|7[26-9]\\d\\d)\\d{6}|6[023]\\d{7,8})|17\\d{8}',
example_number='15123456789', possible_length=(10, 11)),
toll_free=PhoneNumberDesc(national_number_pattern='800\\d{7,12}',
example_number='8001234567890', possible_length=(10, 11, 12, 13, 14, 15)),
premium_rate=PhoneNumberDesc(national_number_pattern='(?:137[7-9]|900(?:[135]|9\\d))\\d{6}',
example_number='9001234567', possible_length=(10, 11)),
shared_cost=PhoneNumberDesc(national_number_pattern='180\\d{5,11}|13(?:7[1-6]\\d\\d|8)\\d{4}',
example_number='18012345', possible_length=(7, 8, 9, 10, 11, 12, 13, 14)),
@@ -15,6 +15,7 @@
national_prefix='0',
national_prefix_for_parsing='0',
number_format=[NumberFormat(pattern='(\\d{2})(\\d{3,13})', format='\\1
\\2', leading_digits_pattern=['3[02]|40|[68]9'],
national_prefix_formatting_rule='0\\1'),
+ NumberFormat(pattern='(\\d{6})', format='\\1',
leading_digits_pattern=['227', '2277']),
NumberFormat(pattern='(\\d{3})(\\d{3,12})', format='\\1 \\2',
leading_digits_pattern=['2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1',
'2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1'],
national_prefix_formatting_rule='0\\1'),
NumberFormat(pattern='(\\d{4})(\\d{2,11})', format='\\1 \\2',
leading_digits_pattern=['[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]',
'[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]'],
national_prefix_formatting_rule='0\\1'),
NumberFormat(pattern='(\\d{3})(\\d{4})', format='\\1 \\2',
leading_digits_pattern=['138'], national_prefix_formatting_rule='0\\1'),
@@ -27,9 +28,27 @@
NumberFormat(pattern='(\\d{3})(\\d{4})(\\d{4})', format='\\1 \\2 \\3',
leading_digits_pattern=['7'], national_prefix_formatting_rule='0\\1'),
NumberFormat(pattern='(\\d{4})(\\d{7})', format='\\1 \\2',
leading_digits_pattern=['18[68]'], national_prefix_formatting_rule='0\\1'),
NumberFormat(pattern='(\\d{4})(\\d{7})', format='\\1 \\2',
leading_digits_pattern=['15[1279]'], national_prefix_formatting_rule='0\\1'),
- NumberFormat(pattern='(\\d{5})(\\d{6})', format='\\1 \\2',
leading_digits_pattern=['15[03568]', '15(?:[0568]|31)'],
national_prefix_formatting_rule='0\\1'),
+ NumberFormat(pattern='(\\d{5})(\\d{6})', format='\\1 \\2',
leading_digits_pattern=['15[03568]', '15(?:[0568]|3[13])'],
national_prefix_formatting_rule='0\\1'),
NumberFormat(pattern='(\\d{3})(\\d{8})', format='\\1 \\2',
leading_digits_pattern=['18'], national_prefix_formatting_rule='0\\1'),
NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{7,8})', format='\\1 \\2
\\3', leading_digits_pattern=['1(?:6[023]|7)'],
national_prefix_formatting_rule='0\\1'),
NumberFormat(pattern='(\\d{4})(\\d{2})(\\d{7})', format='\\1 \\2 \\3',
leading_digits_pattern=['15[279]'], national_prefix_formatting_rule='0\\1'),
NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{8})', format='\\1 \\2 \\3',
leading_digits_pattern=['15'], national_prefix_formatting_rule='0\\1')],
+ intl_number_format=[NumberFormat(pattern='(\\d{2})(\\d{3,13})',
format='\\1 \\2', leading_digits_pattern=['3[02]|40|[68]9']),
+ NumberFormat(pattern='(\\d{3})(\\d{3,12})', format='\\1 \\2',
leading_digits_pattern=['2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1',
'2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1']),
+ NumberFormat(pattern='(\\d{4})(\\d{2,11})', format='\\1 \\2',
leading_digits_pattern=['[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]',
'[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]']),
+ NumberFormat(pattern='(\\d{3})(\\d{4})', format='\\1 \\2',
leading_digits_pattern=['138']),
+ NumberFormat(pattern='(\\d{5})(\\d{2,10})', format='\\1 \\2',
leading_digits_pattern=['3']),
+ NumberFormat(pattern='(\\d{3})(\\d{5,11})', format='\\1 \\2',
leading_digits_pattern=['181']),
+ NumberFormat(pattern='(\\d{3})(\\d)(\\d{4,10})', format='\\1 \\2 \\3',
leading_digits_pattern=['1(?:3|80)|9']),
+ NumberFormat(pattern='(\\d{3})(\\d{7,8})', format='\\1 \\2',
leading_digits_pattern=['1[67]']),
+ NumberFormat(pattern='(\\d{3})(\\d{7,12})', format='\\1 \\2',
leading_digits_pattern=['8']),
+ NumberFormat(pattern='(\\d{5})(\\d{6})', format='\\1 \\2',
leading_digits_pattern=['185', '1850', '18500']),
+ NumberFormat(pattern='(\\d{3})(\\d{4})(\\d{4})', format='\\1 \\2 \\3',
leading_digits_pattern=['7']),
+ NumberFormat(pattern='(\\d{4})(\\d{7})', format='\\1 \\2',
leading_digits_pattern=['18[68]']),
+ NumberFormat(pattern='(\\d{4})(\\d{7})', format='\\1 \\2',
leading_digits_pattern=['15[1279]']),
+ NumberFormat(pattern='(\\d{5})(\\d{6})', format='\\1 \\2',
leading_digits_pattern=['15[03568]', '15(?:[0568]|3[13])']),
+ NumberFormat(pattern='(\\d{3})(\\d{8})', format='\\1 \\2',
leading_digits_pattern=['18']),
+ NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{7,8})', format='\\1 \\2
\\3', leading_digits_pattern=['1(?:6[023]|7)']),
+ NumberFormat(pattern='(\\d{4})(\\d{2})(\\d{7})', format='\\1 \\2 \\3',
leading_digits_pattern=['15[279]']),
+ NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{8})', format='\\1 \\2 \\3',
leading_digits_pattern=['15'])],
mobile_number_portable_region=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_GB.py
new/phonenumbers-9.0.15/phonenumbers/data/region_GB.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_GB.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_GB.py 2025-09-26
07:22:22.000000000 +0200
@@ -13,7 +13,7 @@
uan=PhoneNumberDesc(national_number_pattern='(?:3[0347]|55)\\d{8}',
example_number='5512345678', possible_length=(10,)),
national_prefix='0',
preferred_extn_prefix=' x',
- national_prefix_for_parsing='0',
+ national_prefix_for_parsing='0|180020',
number_format=[NumberFormat(pattern='(\\d{3})(\\d{4})', format='\\1 \\2',
leading_digits_pattern=['800', '8001', '80011', '800111', '8001111'],
national_prefix_formatting_rule='0\\1'),
NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{2})', format='\\1 \\2 \\3',
leading_digits_pattern=['845', '8454', '84546', '845464'],
national_prefix_formatting_rule='0\\1'),
NumberFormat(pattern='(\\d{3})(\\d{6})', format='\\1 \\2',
leading_digits_pattern=['800'], national_prefix_formatting_rule='0\\1'),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_GG.py
new/phonenumbers-9.0.15/phonenumbers/data/region_GG.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_GG.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_GG.py 2025-09-26
07:22:22.000000000 +0200
@@ -12,5 +12,5 @@
pager=PhoneNumberDesc(national_number_pattern='76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}',
example_number='7640123456', possible_length=(10,)),
uan=PhoneNumberDesc(national_number_pattern='(?:3[0347]|55)\\d{8}',
example_number='5512345678', possible_length=(10,)),
national_prefix='0',
- national_prefix_for_parsing='([25-9]\\d{5})$|0',
+ national_prefix_for_parsing='([25-9]\\d{5})$|0|180020',
national_prefix_transform_rule='1481\\1')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_GM.py
new/phonenumbers-9.0.15/phonenumbers/data/region_GM.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_GM.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_GM.py 2025-09-26
07:22:22.000000000 +0200
@@ -3,6 +3,6 @@
PHONE_METADATA_GM = PhoneMetadata(id='GM', country_code=220,
international_prefix='00',
general_desc=PhoneNumberDesc(national_number_pattern='[2-9]\\d{6}',
possible_length=(7,)),
-
fixed_line=PhoneNumberDesc(national_number_pattern='(?:4(?:[23]\\d\\d|4(?:1[024679]|[6-9]\\d))|5(?:5(?:3\\d|4[0-7])|6[67]\\d|7(?:1[04]|2[035]|3[58]|48))|8\\d{3})\\d{3}',
example_number='5661234', possible_length=(7,)),
-
mobile=PhoneNumberDesc(national_number_pattern='556\\d{4}|(?:[23679]\\d|4[015]|5[0-489])\\d{5}',
example_number='3012345', possible_length=(7,)),
+
fixed_line=PhoneNumberDesc(national_number_pattern='(?:4(?:[23]\\d\\d|4(?:1[024679]|[6-9]\\d))|5(?:5(?:3\\d|4[0-7])|6[67]\\d|7(?:1[04]|2[035]|3[58]|48))|8[0-589]\\d\\d)\\d{3}',
example_number='5661234', possible_length=(7,)),
+
mobile=PhoneNumberDesc(national_number_pattern='556\\d{4}|(?:[23679]\\d|4[015]|5[0-489]|8[67])\\d{5}',
example_number='3012345', possible_length=(7,)),
number_format=[NumberFormat(pattern='(\\d{3})(\\d{4})', format='\\1 \\2',
leading_digits_pattern=['[2-9]'])])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_GY.py
new/phonenumbers-9.0.15/phonenumbers/data/region_GY.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_GY.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_GY.py 2025-09-26
07:22:22.000000000 +0200
@@ -4,7 +4,7 @@
PHONE_METADATA_GY = PhoneMetadata(id='GY', country_code=592,
international_prefix='001',
general_desc=PhoneNumberDesc(national_number_pattern='(?:[2-8]\\d{3}|9008)\\d{3}',
possible_length=(7,)),
fixed_line=PhoneNumberDesc(national_number_pattern='(?:2(?:1[6-9]|2[0-35-9]|3[1-4]|5[3-9]|6\\d|7[0-79])|3(?:2[25-9]|3\\d)|4(?:4[0-24]|5[56])|50[0-6]|77[1-57])\\d{4}',
example_number='2201234', possible_length=(7,)),
-
mobile=PhoneNumberDesc(national_number_pattern='(?:510|6\\d\\d|7(?:[0-5]\\d|6[019]|70))\\d{4}',
example_number='6091234', possible_length=(7,)),
+
mobile=PhoneNumberDesc(national_number_pattern='(?:51[01]|6\\d\\d|7(?:[0-5]\\d|6[0-39]|70))\\d{4}',
example_number='6091234', possible_length=(7,)),
toll_free=PhoneNumberDesc(national_number_pattern='(?:289|8(?:00|6[28]|88|99))\\d{4}',
example_number='2891234', possible_length=(7,)),
premium_rate=PhoneNumberDesc(national_number_pattern='9008\\d{3}',
example_number='9008123', possible_length=(7,)),
voip=PhoneNumberDesc(national_number_pattern='515\\d{4}',
example_number='5151234', possible_length=(7,)),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_IL.py
new/phonenumbers-9.0.15/phonenumbers/data/region_IL.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_IL.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_IL.py 2025-09-26
07:22:22.000000000 +0200
@@ -4,7 +4,7 @@
PHONE_METADATA_IL = PhoneMetadata(id='IL', country_code=972,
international_prefix='0(?:0|1[2-9])',
general_desc=PhoneNumberDesc(national_number_pattern='1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}',
possible_length=(7, 8, 9, 10, 11, 12)),
fixed_line=PhoneNumberDesc(national_number_pattern='153\\d{8,9}|29[1-9]\\d{5}|(?:2[0-8]|[3489]\\d)\\d{6}',
example_number='21234567', possible_length=(8, 11, 12),
possible_length_local_only=(7,)),
-
mobile=PhoneNumberDesc(national_number_pattern='55(?:4(?:[01]0|5[0-5])|57[0-289])\\d{4}|5(?:(?:[0-2][02-9]|[36]\\d|[49][2-9]|8[3-7])\\d|5(?:01|2\\d|3[0-3]|4[34]|5[0-25689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\d{5}',
example_number='502345678', possible_length=(9,)),
+
mobile=PhoneNumberDesc(national_number_pattern='55(?:4(?:0[01]|10|5[0-7])|57[0-289])\\d{4}|5(?:(?:[0-2][02-9]|[36]\\d|[49][2-9]|8[3-7])\\d|5(?:01|2\\d|3[0-3]|4[34]|5[0-25689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\d{5}',
example_number='502345678', possible_length=(9,)),
toll_free=PhoneNumberDesc(national_number_pattern='1(?:255|80[019]\\d{3})\\d{3}',
example_number='1800123456', possible_length=(7, 10)),
premium_rate=PhoneNumberDesc(national_number_pattern='1212\\d{4}|1(?:200|9(?:0[0-2]|19))\\d{6}',
example_number='1919123456', possible_length=(8, 10)),
shared_cost=PhoneNumberDesc(national_number_pattern='1700\\d{6}',
example_number='1700123456', possible_length=(10,)),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_IM.py
new/phonenumbers-9.0.15/phonenumbers/data/region_IM.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_IM.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_IM.py 2025-09-26
07:22:22.000000000 +0200
@@ -11,6 +11,6 @@
voip=PhoneNumberDesc(national_number_pattern='56\\d{8}',
example_number='5612345678', possible_length=(10,)),
uan=PhoneNumberDesc(national_number_pattern='3440[49]06\\d{3}|(?:3(?:08162|3\\d{4}|45624|7(?:0624|2299))|55\\d{4})\\d{4}',
example_number='5512345678', possible_length=(10,)),
national_prefix='0',
- national_prefix_for_parsing='([25-8]\\d{5})$|0',
+ national_prefix_for_parsing='([25-8]\\d{5})$|0|180020',
national_prefix_transform_rule='1624\\1',
leading_digits='74576|(?:16|7[56])24')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_IT.py
new/phonenumbers-9.0.15/phonenumbers/data/region_IT.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_IT.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_IT.py 2025-09-26
07:22:22.000000000 +0200
@@ -2,8 +2,8 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_IT = PhoneMetadata(id='IT', country_code=39,
international_prefix='00',
-
general_desc=PhoneNumberDesc(national_number_pattern='0\\d{5,10}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?',
possible_length=(6, 7, 8, 9, 10, 11, 12)),
-
fixed_line=PhoneNumberDesc(national_number_pattern='0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}',
example_number='0212345678', possible_length=(6, 7, 8, 9, 10, 11)),
+
general_desc=PhoneNumberDesc(national_number_pattern='0\\d{5,11}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?',
possible_length=(6, 7, 8, 9, 10, 11, 12)),
+
fixed_line=PhoneNumberDesc(national_number_pattern='0(?:669[0-79]\\d{1,6}|831\\d{2,8})|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[2356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}',
example_number='0212345678', possible_length=(6, 7, 8, 9, 10, 11, 12)),
mobile=PhoneNumberDesc(national_number_pattern='3[2-9]\\d{7,8}|(?:31|43)\\d{8}',
example_number='3123456789', possible_length=(9, 10)),
toll_free=PhoneNumberDesc(national_number_pattern='80(?:0\\d{3}|3)\\d{3}',
example_number='800123456', possible_length=(6, 9)),
premium_rate=PhoneNumberDesc(national_number_pattern='(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}',
example_number='899123456', possible_length=(6, 8, 9, 10)),
@@ -23,7 +23,7 @@
NumberFormat(pattern='(\\d{3})(\\d{3,4})(\\d{4})', format='\\1 \\2
\\3', leading_digits_pattern=['0[13-57-9][0159]|14']),
NumberFormat(pattern='(\\d{2})(\\d{4})(\\d{5})', format='\\1 \\2 \\3',
leading_digits_pattern=['0[26]']),
NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{4})', format='\\1 \\2 \\3',
leading_digits_pattern=['0']),
- NumberFormat(pattern='(\\d{3})(\\d{4})(\\d{4,5})', format='\\1 \\2
\\3', leading_digits_pattern=['3'])],
+ NumberFormat(pattern='(\\d{3})(\\d{4})(\\d{4,5})', format='\\1 \\2
\\3', leading_digits_pattern=['[03]'])],
intl_number_format=[NumberFormat(pattern='(\\d{2})(\\d{4,6})', format='\\1
\\2', leading_digits_pattern=['0[26]']),
NumberFormat(pattern='(\\d{3})(\\d{3,6})', format='\\1 \\2',
leading_digits_pattern=['0[13-57-9][0159]|8(?:03|4[17]|9[2-5])',
'0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))']),
NumberFormat(pattern='(\\d{4})(\\d{2,6})', format='\\1 \\2',
leading_digits_pattern=['0(?:[13-579][2-46-8]|8[236-8])']),
@@ -33,6 +33,6 @@
NumberFormat(pattern='(\\d{3})(\\d{3,4})(\\d{4})', format='\\1 \\2
\\3', leading_digits_pattern=['0[13-57-9][0159]|14']),
NumberFormat(pattern='(\\d{2})(\\d{4})(\\d{5})', format='\\1 \\2 \\3',
leading_digits_pattern=['0[26]']),
NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{4})', format='\\1 \\2 \\3',
leading_digits_pattern=['0']),
- NumberFormat(pattern='(\\d{3})(\\d{4})(\\d{4,5})', format='\\1 \\2
\\3', leading_digits_pattern=['3'])],
+ NumberFormat(pattern='(\\d{3})(\\d{4})(\\d{4,5})', format='\\1 \\2
\\3', leading_digits_pattern=['[03]'])],
main_country_for_code=True,
mobile_number_portable_region=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_JE.py
new/phonenumbers-9.0.15/phonenumbers/data/region_JE.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_JE.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_JE.py 2025-09-26
07:22:22.000000000 +0200
@@ -12,5 +12,5 @@
pager=PhoneNumberDesc(national_number_pattern='76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}',
example_number='7640123456', possible_length=(10,)),
uan=PhoneNumberDesc(national_number_pattern='(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}',
example_number='5512345678', possible_length=(10,)),
national_prefix='0',
- national_prefix_for_parsing='([0-24-8]\\d{5})$|0',
+ national_prefix_for_parsing='([0-24-8]\\d{5})$|0|180020',
national_prefix_transform_rule='1534\\1')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_KE.py
new/phonenumbers-9.0.15/phonenumbers/data/region_KE.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_KE.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_KE.py 2025-09-26
07:22:22.000000000 +0200
@@ -4,7 +4,7 @@
PHONE_METADATA_KE = PhoneMetadata(id='KE', country_code=254,
international_prefix='000',
general_desc=PhoneNumberDesc(national_number_pattern='(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}',
possible_length=(7, 8, 9, 10)),
fixed_line=PhoneNumberDesc(national_number_pattern='(?:4[245]|5[1-79]|6[01457-9])\\d{5,7}|(?:4[136]|5[08]|62)\\d{7}|(?:[24]0|66)\\d{6,7}',
example_number='202012345', possible_length=(7, 8, 9)),
-
mobile=PhoneNumberDesc(national_number_pattern='(?:1(?:0[0-8]|1[0-7]|2[014]|30)|7\\d\\d)\\d{6}',
example_number='712123456', possible_length=(9,)),
+
mobile=PhoneNumberDesc(national_number_pattern='(?:1(?:0[0-8]|1\\d|2[014]|[34]0)|7\\d\\d)\\d{6}',
example_number='712123456', possible_length=(9,)),
toll_free=PhoneNumberDesc(national_number_pattern='800[02-8]\\d{5,6}',
example_number='800223456', possible_length=(9, 10)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[02-9]\\d{5}',
example_number='900223456', possible_length=(9,)),
national_prefix='0',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_LI.py
new/phonenumbers-9.0.15/phonenumbers/data/region_LI.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_LI.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_LI.py 2025-09-26
07:22:22.000000000 +0200
@@ -4,7 +4,7 @@
PHONE_METADATA_LI = PhoneMetadata(id='LI', country_code=423,
international_prefix='00',
general_desc=PhoneNumberDesc(national_number_pattern='[68]\\d{8}|(?:[2378]\\d|90)\\d{5}',
possible_length=(7, 9)),
fixed_line=PhoneNumberDesc(national_number_pattern='(?:2(?:01|1[27]|2[024]|3\\d|6[02-578]|96)|3(?:[24]0|33|7[0135-7]|8[048]|9[0269]))\\d{4}',
example_number='2345678', possible_length=(7,)),
-
mobile=PhoneNumberDesc(national_number_pattern='(?:6(?:(?:4[5-9]|5[0-46-9])\\d|6(?:[024-6]\\d|[17]0|3[7-9]))\\d|7(?:[37-9]\\d|42|56))\\d{4}',
example_number='660234567', possible_length=(7, 9)),
+
mobile=PhoneNumberDesc(national_number_pattern='(?:6(?:(?:4[5-9]|5\\d)\\d|6(?:[024-6]\\d|[17]0|3[7-9]))\\d|7(?:[37-9]\\d|42|56))\\d{4}',
example_number='660234567', possible_length=(7, 9)),
toll_free=PhoneNumberDesc(national_number_pattern='8002[28]\\d\\d|80(?:05\\d|9)\\d{4}',
example_number='8002222', possible_length=(7, 9)),
premium_rate=PhoneNumberDesc(national_number_pattern='90(?:02[258]|1(?:23|3[14])|66[136])\\d\\d',
example_number='9002222', possible_length=(7,)),
uan=PhoneNumberDesc(national_number_pattern='870(?:28|87)\\d\\d',
example_number='8702812', possible_length=(7,)),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_LV.py
new/phonenumbers-9.0.15/phonenumbers/data/region_LV.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_LV.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_LV.py 2025-09-26
07:22:22.000000000 +0200
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_LV = PhoneMetadata(id='LV', country_code=371,
international_prefix='00',
-
general_desc=PhoneNumberDesc(national_number_pattern='(?:[268]\\d|90)\\d{6}',
possible_length=(8,)),
+
general_desc=PhoneNumberDesc(national_number_pattern='(?:[268]\\d|78|90)\\d{6}',
possible_length=(8,)),
fixed_line=PhoneNumberDesc(national_number_pattern='6\\d{7}',
example_number='63123456', possible_length=(8,)),
mobile=PhoneNumberDesc(national_number_pattern='2333[0-8]\\d{3}|2(?:[0-24-9]\\d\\d|3(?:0[07]|[14-9]\\d|2[02-9]|3[0-24-9]))\\d{4}',
example_number='21234567', possible_length=(8,)),
toll_free=PhoneNumberDesc(national_number_pattern='80\\d{6}',
example_number='80123456', possible_length=(8,)),
premium_rate=PhoneNumberDesc(national_number_pattern='90\\d{6}',
example_number='90123456', possible_length=(8,)),
shared_cost=PhoneNumberDesc(national_number_pattern='81\\d{6}',
example_number='81123456', possible_length=(8,)),
- number_format=[NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{3})',
format='\\1 \\2 \\3', leading_digits_pattern=['[269]|8[01]'])],
+ number_format=[NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{3})',
format='\\1 \\2 \\3', leading_digits_pattern=['[2679]|8[01]'])],
mobile_number_portable_region=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_ME.py
new/phonenumbers-9.0.15/phonenumbers/data/region_ME.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_ME.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_ME.py 2025-09-26
07:22:22.000000000 +0200
@@ -4,7 +4,7 @@
PHONE_METADATA_ME = PhoneMetadata(id='ME', country_code=382,
international_prefix='00',
general_desc=PhoneNumberDesc(national_number_pattern='(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}',
possible_length=(8, 9), possible_length_local_only=(6,)),
fixed_line=PhoneNumberDesc(national_number_pattern='(?:20[2-8]|3(?:[0-2][2-7]|3[24-7])|4(?:0[2-467]|1[2467])|5(?:0[2467]|1[24-7]|2[2-467]))\\d{5}',
example_number='30234567', possible_length=(8,),
possible_length_local_only=(6,)),
-
mobile=PhoneNumberDesc(national_number_pattern='6(?:[07-9]\\d|3[024]|6[0-25])\\d{5}',
example_number='67622901', possible_length=(8,)),
+
mobile=PhoneNumberDesc(national_number_pattern='6(?:[07-9]\\d|3[024]|6[0-25])\\d{5}',
example_number='60123456', possible_length=(8,)),
toll_free=PhoneNumberDesc(national_number_pattern='80(?:[0-2578]|9\\d)\\d{5}',
example_number='80080002', possible_length=(8, 9)),
premium_rate=PhoneNumberDesc(national_number_pattern='9(?:4[1568]|5[178])\\d{5}',
example_number='94515151', possible_length=(8,)),
voip=PhoneNumberDesc(national_number_pattern='78[1-49]\\d{5}',
example_number='78108780', possible_length=(8,)),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_OM.py
new/phonenumbers-9.0.15/phonenumbers/data/region_OM.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_OM.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_OM.py 2025-09-26
07:22:22.000000000 +0200
@@ -4,7 +4,7 @@
PHONE_METADATA_OM = PhoneMetadata(id='OM', country_code=968,
international_prefix='00',
general_desc=PhoneNumberDesc(national_number_pattern='(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}',
possible_length=(7, 8, 9)),
fixed_line=PhoneNumberDesc(national_number_pattern='2[1-6]\\d{6}',
example_number='23123456', possible_length=(8,)),
-
mobile=PhoneNumberDesc(national_number_pattern='1505\\d{4}|(?:7(?:[126-9]\\d|41)|9(?:0[1-9]|[1-9]\\d))\\d{5}',
example_number='92123456', possible_length=(8,)),
+
mobile=PhoneNumberDesc(national_number_pattern='1505\\d{4}|(?:7(?:[125-9]\\d|41)|9(?:0[1-9]|[1-9]\\d))\\d{5}',
example_number='92123456', possible_length=(8,)),
toll_free=PhoneNumberDesc(national_number_pattern='8007\\d{4,5}|(?:500|800[05])\\d{4}',
example_number='80071234', possible_length=(7, 8, 9)),
premium_rate=PhoneNumberDesc(national_number_pattern='900\\d{5}',
example_number='90012345', possible_length=(8,)),
number_format=[NumberFormat(pattern='(\\d{3})(\\d{4,6})', format='\\1
\\2', leading_digits_pattern=['[58]']),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_PA.py
new/phonenumbers-9.0.15/phonenumbers/data/region_PA.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_PA.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_PA.py 2025-09-26
07:22:22.000000000 +0200
@@ -3,7 +3,7 @@
PHONE_METADATA_PA = PhoneMetadata(id='PA', country_code=507,
international_prefix='00',
general_desc=PhoneNumberDesc(national_number_pattern='(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}',
possible_length=(7, 8, 10, 11)),
-
fixed_line=PhoneNumberDesc(national_number_pattern='(?:1(?:0\\d|1[479]|2[37]|3[0137]|4[17]|5[05]|6[058]|7[0167]|8[2358]|9[1389])|2(?:[0235-79]\\d|1[0-7]|4[013-9]|8[02-9])|3(?:[047-9]\\d|1[0-8]|2[0-5]|33|5[0-35]|6[068])|4(?:00|3[0-579]|4\\d|7[0-57-9])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-26-8]|3[03]|4[04]|5[05-9]|6[0156]|7[0-24-9]|8[4-9]|90)|8(?:09|2[89]|3\\d|4[0-24-689]|5[014]|8[02])|9(?:0[5-9]|1[0135-8]|2[036-9]|3[35-79]|40|5[0457-9]|6[05-9]|7[04-9]|8[35-8]|9\\d))\\d{4}',
example_number='2001234', possible_length=(7,)),
+
fixed_line=PhoneNumberDesc(national_number_pattern='(?:1(?:0\\d|1[0479]|2[37]|3[0137]|4[17]|5[05]|6[058]|7[0167]|8[2358]|9[1389])|2(?:[0235-79]\\d|1[0-7]|4[013-9]|8[02-9])|3(?:[047-9]\\d|1[0-8]|2[0-5]|33|5[0-35]|6[068])|4(?:00|3[0-579]|4\\d|7[0-57-9])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-26-8]|3[03]|4[04]|5[05-9]|6[0156]|7[0-24-9]|8[4-9]|90)|8(?:09|2[89]|3\\d|4[0-24-689]|5[014]|8[02])|9(?:0[5-9]|1[0135-8]|2[036-9]|3[35-79]|40|5[0457-9]|6[05-9]|7[04-9]|8[35-8]|9\\d))\\d{4}',
example_number='2001234', possible_length=(7,)),
mobile=PhoneNumberDesc(national_number_pattern='(?:1[16]1|21[89]|6\\d{3}|8(?:1[01]|7[23]))\\d{4}',
example_number='61234567', possible_length=(7, 8)),
toll_free=PhoneNumberDesc(national_number_pattern='800\\d{4,5}|(?:00800|800\\d)\\d{6}',
example_number='8001234', possible_length=(7, 8, 10, 11)),
premium_rate=PhoneNumberDesc(national_number_pattern='(?:8(?:22|55|60|7[78]|86)|9(?:00|81))\\d{4}',
example_number='8601234', possible_length=(7,)),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_SG.py
new/phonenumbers-9.0.15/phonenumbers/data/region_SG.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_SG.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_SG.py 2025-09-26
07:22:22.000000000 +0200
@@ -4,7 +4,7 @@
PHONE_METADATA_SG = PhoneMetadata(id='SG', country_code=65,
international_prefix='0[0-3]\\d',
general_desc=PhoneNumberDesc(national_number_pattern='(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}',
possible_length=(8, 10, 11)),
fixed_line=PhoneNumberDesc(national_number_pattern='662[0-24-9]\\d{4}|6(?:[0-578]\\d|6[013-57-9]|9[0-35-9])\\d{5}',
example_number='61234567', possible_length=(8,)),
-
mobile=PhoneNumberDesc(national_number_pattern='89(?:7[0-689]|80)\\d{4}|(?:8(?:0[1-9]|[1-8]\\d|9[0-6])|9[0-8]\\d)\\d{5}',
example_number='81234567', possible_length=(8,)),
+
mobile=PhoneNumberDesc(national_number_pattern='898[02-8]\\d{4}|(?:8(?:0[1-9]|[1-8]\\d|9[0-7])|9[0-8]\\d)\\d{5}',
example_number='81234567', possible_length=(8,)),
toll_free=PhoneNumberDesc(national_number_pattern='(?:18|8)00\\d{7}',
example_number='18001234567', possible_length=(10, 11)),
premium_rate=PhoneNumberDesc(national_number_pattern='1900\\d{7}',
example_number='19001234567', possible_length=(11,)),
voip=PhoneNumberDesc(national_number_pattern='(?:3[12]\\d|666)\\d{5}',
example_number='31234567', possible_length=(8,)),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_SR.py
new/phonenumbers-9.0.15/phonenumbers/data/region_SR.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_SR.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_SR.py 2025-09-26
07:22:22.000000000 +0200
@@ -2,9 +2,9 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_SR = PhoneMetadata(id='SR', country_code=597,
international_prefix='00',
-
general_desc=PhoneNumberDesc(national_number_pattern='(?:[2-5]|68|[78]\\d|90)\\d{5}',
possible_length=(6, 7)),
-
fixed_line=PhoneNumberDesc(national_number_pattern='(?:2[1-3]|3[0-7]|(?:4|68)\\d|5[2-58])\\d{4}',
example_number='211234', possible_length=(6, 7)),
-
mobile=PhoneNumberDesc(national_number_pattern='(?:7[124-7]|8[1-9])\\d{5}',
example_number='7412345', possible_length=(7,)),
+
general_desc=PhoneNumberDesc(national_number_pattern='(?:[2-5]|[6-8]\\d|90)\\d{5}',
possible_length=(6, 7)),
+
fixed_line=PhoneNumberDesc(national_number_pattern='(?:2[1-3]|3[0-7]|4\\d|5[2-58])\\d{4}',
example_number='211234', possible_length=(6,)),
+
mobile=PhoneNumberDesc(national_number_pattern='(?:6[08]|7[124-7]|8[1-9])\\d{5}',
example_number='7412345', possible_length=(7,)),
toll_free=PhoneNumberDesc(national_number_pattern='80\\d{5}',
example_number='8012345', possible_length=(7,)),
premium_rate=PhoneNumberDesc(national_number_pattern='90\\d{5}',
example_number='9012345', possible_length=(7,)),
voip=PhoneNumberDesc(national_number_pattern='56\\d{4}',
example_number='561234', possible_length=(6,)),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_UG.py
new/phonenumbers-9.0.15/phonenumbers/data/region_UG.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_UG.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_UG.py 2025-09-26
07:22:22.000000000 +0200
@@ -4,7 +4,7 @@
PHONE_METADATA_UG = PhoneMetadata(id='UG', country_code=256,
international_prefix='00[057]',
general_desc=PhoneNumberDesc(national_number_pattern='800\\d{6}|(?:[29]0|[347]\\d)\\d{7}',
possible_length=(9,), possible_length_local_only=(5, 6, 7)),
fixed_line=PhoneNumberDesc(national_number_pattern='20(?:(?:240|30[67])\\d|6(?:00[0-2]|30[0-4]))\\d{3}|(?:20(?:[017]\\d|2[5-9]|3[1-4]|5[0-4]|6[15-9])|[34]\\d{3})\\d{5}',
example_number='312345678', possible_length=(9,),
possible_length_local_only=(5, 6, 7)),
-
mobile=PhoneNumberDesc(national_number_pattern='72[48]0\\d{5}|7(?:[014-8]\\d|2[067]|36|9[0189])\\d{6}',
example_number='712345678', possible_length=(9,)),
+
mobile=PhoneNumberDesc(national_number_pattern='72[48]0\\d{5}|7(?:[014-8]\\d|2[067]|36|9[0-289])\\d{6}',
example_number='712345678', possible_length=(9,)),
toll_free=PhoneNumberDesc(national_number_pattern='800[1-3]\\d{5}',
example_number='800123456', possible_length=(9,)),
premium_rate=PhoneNumberDesc(national_number_pattern='90[1-3]\\d{6}',
example_number='901123456', possible_length=(9,)),
national_prefix='0',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_US.py
new/phonenumbers-9.0.15/phonenumbers/data/region_US.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_US.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_US.py 2025-09-26
07:22:22.000000000 +0200
@@ -3,8 +3,8 @@
PHONE_METADATA_US = PhoneMetadata(id='US', country_code=1,
international_prefix='011',
general_desc=PhoneNumberDesc(national_number_pattern='[2-9]\\d{9}|3\\d{6}',
possible_length=(10,), possible_length_local_only=(7,)),
-
fixed_line=PhoneNumberDesc(national_number_pattern='(?:3052(?:0[0-8]|[1-9]\\d)|5056(?:[0-35-9]\\d|4[0-68]))\\d{4}|(?:2742|305[3-9]|(?:472|983)[2-47-9]|505[2-57-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[0135-79]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}',
example_number='2015550123', possible_length=(10,),
possible_length_local_only=(7,)),
-
mobile=PhoneNumberDesc(national_number_pattern='(?:3052(?:0[0-8]|[1-9]\\d)|5056(?:[0-35-9]\\d|4[0-68]))\\d{4}|(?:2742|305[3-9]|(?:472|983)[2-47-9]|505[2-57-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[0135-79]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}',
example_number='2015550123', possible_length=(10,),
possible_length_local_only=(7,)),
+
fixed_line=PhoneNumberDesc(national_number_pattern='3052(?:0[0-8]|[1-9]\\d)\\d{4}|(?:2742|305[3-9])\\d{6}|(?:472|983)[2-47-9]\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[0135-79]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}',
example_number='2015550123', possible_length=(10,),
possible_length_local_only=(7,)),
+
mobile=PhoneNumberDesc(national_number_pattern='3052(?:0[0-8]|[1-9]\\d)\\d{4}|(?:2742|305[3-9])\\d{6}|(?:472|983)[2-47-9]\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[0135-79]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}',
example_number='2015550123', possible_length=(10,),
possible_length_local_only=(7,)),
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|33|44|55|66|77|88)[2-9]\\d{6}',
example_number='8002345678', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}',
example_number='9002345678', possible_length=(10,)),
personal_number=PhoneNumberDesc(national_number_pattern='52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}',
example_number='5002345678', possible_length=(10,)),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/data/region_UY.py
new/phonenumbers-9.0.15/phonenumbers/data/region_UY.py
--- old/phonenumbers-9.0.11/phonenumbers/data/region_UY.py 2025-08-07
17:30:55.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/data/region_UY.py 2025-09-26
07:22:22.000000000 +0200
@@ -2,16 +2,18 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_UY = PhoneMetadata(id='UY', country_code=598,
international_prefix='0(?:0|1[3-9]\\d)',
-
general_desc=PhoneNumberDesc(national_number_pattern='0004\\d{2,9}|[1249]\\d{7}|(?:[49]\\d|80)\\d{5}',
possible_length=(6, 7, 8, 9, 10, 11, 12, 13)),
+
general_desc=PhoneNumberDesc(national_number_pattern='0004\\d{2,9}|[1249]\\d{7}|2\\d{3,4}|(?:[49]\\d|80)\\d{5}',
possible_length=(4, 5, 6, 7, 8, 9, 10, 11, 12, 13)),
fixed_line=PhoneNumberDesc(national_number_pattern='(?:1(?:770|9(?:20|[89]7))|(?:2\\d|4[2-7])\\d\\d)\\d{4}',
example_number='21231234', possible_length=(8,),
possible_length_local_only=(7,)),
mobile=PhoneNumberDesc(national_number_pattern='9[1-9]\\d{6}',
example_number='94231234', possible_length=(8,)),
toll_free=PhoneNumberDesc(national_number_pattern='0004\\d{2,9}|(?:405|80[05])\\d{4}',
example_number='8001234', possible_length=(6, 7, 8, 9, 10, 11, 12, 13)),
premium_rate=PhoneNumberDesc(national_number_pattern='90[0-8]\\d{4}',
example_number='9001234', possible_length=(7,)),
+ uan=PhoneNumberDesc(national_number_pattern='21\\d{2,3}',
example_number='21123', possible_length=(4, 5)),
preferred_international_prefix='00',
national_prefix='0',
preferred_extn_prefix=' int. ',
national_prefix_for_parsing='0',
- number_format=[NumberFormat(pattern='(\\d{3})(\\d{3,4})', format='\\1
\\2', leading_digits_pattern=['0']),
+ number_format=[NumberFormat(pattern='(\\d{4,5})', format='\\1',
leading_digits_pattern=['21']),
+ NumberFormat(pattern='(\\d{3})(\\d{3,4})', format='\\1 \\2',
leading_digits_pattern=['0']),
NumberFormat(pattern='(\\d{3})(\\d{4})', format='\\1 \\2',
leading_digits_pattern=['[49]0|8'], national_prefix_formatting_rule='0\\1'),
NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{3})', format='\\1 \\2 \\3',
leading_digits_pattern=['9'], national_prefix_formatting_rule='0\\1'),
NumberFormat(pattern='(\\d{4})(\\d{4})', format='\\1 \\2',
leading_digits_pattern=['[124]']),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data1.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data1.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data1.py 2025-08-07
17:30:57.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data1.py 2025-09-26
07:22:23.000000000 +0200
@@ -9387,6 +9387,7 @@
'1682647':{'en': 'Fort Worth, TX'},
'1682885':{'en': 'Fort Worth, TX'},
'1683':{'en': 'Ontario'},
+ '1686':{'en': 'Virginia'},
'1689':{'en': 'Florida'},
'1701':{'en': 'North Dakota'},
'1701221':{'en': 'Bismarck, ND'},
@@ -10018,5 +10019,4 @@
'1705357':{'en': 'Sunderland, ON'},
'1705360':{'en': 'Timmins, ON'},
'1705362':{'en': 'Hearst, ON'},
- '1705368':{'en': 'Little Current, ON'},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data10.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data10.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data10.py 2025-08-07
17:30:58.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data10.py 2025-09-26
07:22:24.000000000 +0200
@@ -19,6 +19,14 @@
# limitations under the License.
data = {
+ '61350382':{'en': 'Kyalite'},
+ '61350383':{'en': 'Manangatang'},
+ '61350384':{'en': 'Nandaly'},
+ '61350385':{'en': 'Natya'},
+ '61350386':{'en': 'Nyah'},
+ '61350387':{'en': 'Sea Lake'},
+ '61350388':{'en': 'Natya'},
+ '61350389':{'en': 'Natya'},
'61350390':{'en': 'Swan Hill'},
'61350391':{'en': 'Waitchie'},
'61350392':{'en': 'Waitchie'},
@@ -10011,12 +10019,4 @@
'61728004':{'en': 'Cleveland'},
'61728005':{'en': 'Ipswich'},
'61728006':{'en': 'Beenleigh'},
- '61728007':{'en': 'Cleveland'},
- '61728008':{'en': 'Ipswich'},
- '61728009':{'en': 'Beenleigh'},
- '61728010':{'en': 'Cleveland'},
- '61728011':{'en': 'Ipswich'},
- '61728012':{'en': 'Beenleigh'},
- '61728013':{'en': 'Cleveland'},
- '61728014':{'en': 'Ipswich'},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data11.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data11.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data11.py 2025-08-07
17:30:58.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data11.py 2025-09-26
07:22:24.000000000 +0200
@@ -19,6 +19,14 @@
# limitations under the License.
data = {
+ '61728007':{'en': 'Cleveland'},
+ '61728008':{'en': 'Ipswich'},
+ '61728009':{'en': 'Beenleigh'},
+ '61728010':{'en': 'Cleveland'},
+ '61728011':{'en': 'Ipswich'},
+ '61728012':{'en': 'Beenleigh'},
+ '61728013':{'en': 'Cleveland'},
+ '61728014':{'en': 'Ipswich'},
'61728015':{'en': 'Beenleigh'},
'61728016':{'en': 'Cleveland'},
'61728017':{'en': 'Ipswich'},
@@ -483,10 +491,10 @@
'6173493':{'en': 'Brisbane'},
'6173494':{'en': 'Samford'},
'61734950':{'en': 'Redcliffe'},
- '61734951':{'en': 'Cleveland'},
- '61734952':{'en': 'Ipswich'},
- '61734953':{'en': 'Redcliffe'},
- '61734954':{'en': 'Samford'},
+ '61734951':{'en': 'Brisbane'},
+ '61734952':{'en': 'Brisbane'},
+ '61734953':{'en': 'Brisbane'},
+ '61734954':{'en': 'Brisbane'},
'61734955':{'en': 'Beenleigh'},
'61734956':{'en': 'Cleveland'},
'61734957':{'en': 'Ipswich'},
@@ -501,6 +509,8 @@
'61734966':{'en': 'Russell Island'},
'61734967':{'en': 'Ipswich'},
'61734968':{'en': 'Ipswich'},
+ '61734969':{'en': 'Brisbane'},
+ '61734970':{'en': 'Brisbane'},
'61734971':{'en': 'Dayboro'},
'61734972':{'en': 'Dayboro'},
'61734973':{'en': 'Brisbane'},
@@ -527,27 +537,11 @@
'6173503':{'en': 'Brisbane'},
'6173504':{'en': 'Brisbane'},
'6173505':{'en': 'Brisbane'},
- '61735060':{'en': 'Brisbane'},
- '61735061':{'en': 'Brisbane'},
- '61735062':{'en': 'Brisbane'},
- '61735063':{'en': 'Brisbane'},
- '61735064':{'en': 'Brisbane'},
- '61735065':{'en': 'Brisbane'},
- '61735066':{'en': 'Brisbane'},
- '61735067':{'en': 'Brisbane'},
- '6173530':{'en': 'Brisbane'},
- '6173531':{'en': 'Brisbane'},
- '6173532':{'en': 'Brisbane'},
- '6173533':{'en': 'Brisbane'},
- '6173534':{'en': 'Brisbane'},
- '6173535':{'en': 'Brisbane'},
- '6173536':{'en': 'Brisbane'},
- '6173538':{'en': 'Brisbane'},
- '6173539':{'en': 'Brisbane'},
- '6173540':{'en': 'Brisbane'},
- '6173546':{'en': 'Brisbane'},
- '6173547':{'en': 'Brisbane'},
- '6173548':{'en': 'Brisbane'},
+ '6173506':{'en': 'Brisbane'},
+ '61735069':{'en': 'Russell Island'},
+ '617353':{'en': 'Brisbane'},
+ '617354':{'en': 'Brisbane'},
+ '6173549':{'en': 'Dunwich'},
'6173550':{'en': 'Brisbane'},
'6173551':{'en': 'Brisbane'},
'6173552':{'en': 'Brisbane'},
@@ -10019,4 +10013,10 @@
'61752929':{'en': 'Noosaville'},
'61752930':{'en': 'Caboolture'},
'61752931':{'en': 'Caboolture'},
+ '61752932':{'en': 'Caboolture'},
+ '61752933':{'en': 'Caloundra'},
+ '61752934':{'en': 'Caloundra'},
+ '61752935':{'en': 'Caloundra'},
+ '61752936':{'en': 'Caloundra'},
+ '61752937':{'en': 'Nambour'},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data12.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data12.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data12.py 2025-08-07
17:30:58.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data12.py 2025-09-26
07:22:24.000000000 +0200
@@ -19,12 +19,6 @@
# limitations under the License.
data = {
- '61752932':{'en': 'Caboolture'},
- '61752933':{'en': 'Caloundra'},
- '61752934':{'en': 'Caloundra'},
- '61752935':{'en': 'Caloundra'},
- '61752936':{'en': 'Caloundra'},
- '61752937':{'en': 'Nambour'},
'61752938':{'en': 'Nambour'},
'61752939':{'en': 'Nambour'},
'6175294':{'en': 'Nambour'},
@@ -10019,4 +10013,10 @@
'61885872':{'en': 'Taplan'},
'61885873':{'en': 'Paruna'},
'61885874':{'en': 'Wanbi'},
+ '61885875':{'en': 'Wanbi'},
+ '61885876':{'en': 'Wunkar'},
+ '61885877':{'en': 'Wunkar'},
+ '61885878':{'en': 'Paruna'},
+ '61885879':{'en': 'Wanbi'},
+ '6188588':{'en': 'Barmera'},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data13.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data13.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data13.py 2025-08-07
17:30:58.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data13.py 2025-09-26
07:22:24.000000000 +0200
@@ -19,12 +19,6 @@
# limitations under the License.
data = {
- '61885875':{'en': 'Wanbi'},
- '61885876':{'en': 'Wunkar'},
- '61885877':{'en': 'Wunkar'},
- '61885878':{'en': 'Paruna'},
- '61885879':{'en': 'Wanbi'},
- '6188588':{'en': 'Barmera'},
'61885890':{'en': 'Mannum'},
'61885891':{'en': 'Renmark'},
'61885892':{'en': 'Kingscote'},
@@ -10019,4 +10013,10 @@
'61899366':{'en': 'Lynton'},
'61899367':{'en': 'Carnarvon'},
'61899368':{'en': 'Nangetty'},
+ '61899369':{'en': 'Nangetty'},
+ '61899370':{'en': 'Kalbarri'},
+ '61899371':{'en': 'Kalbarri'},
+ '61899372':{'en': 'Kalbarri'},
+ '61899373':{'en': 'Yandanooka'},
+ '61899374':{'en': 'Yandanooka'},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data14.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data14.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data14.py 2025-08-07
17:30:58.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data14.py 2025-09-26
07:22:24.000000000 +0200
@@ -19,12 +19,6 @@
# limitations under the License.
data = {
- '61899369':{'en': 'Nangetty'},
- '61899370':{'en': 'Kalbarri'},
- '61899371':{'en': 'Kalbarri'},
- '61899372':{'en': 'Kalbarri'},
- '61899373':{'en': 'Yandanooka'},
- '61899374':{'en': 'Yandanooka'},
'61899375':{'en': 'Guranu'},
'61899376':{'en': 'Guranu'},
'61899377':{'en': 'Morawa'},
@@ -5381,7 +5375,7 @@
'81849':{'en': 'Fukuyama, Hiroshima', 'ja': u('\u798f\u5c71')},
'818490':{'en': 'Onomichi, Hiroshima', 'ja': u('\u5c3e\u9053')},
'818493':{'en': 'Onomichi, Hiroshima', 'ja': u('\u5c3e\u9053')},
- '818512':{'en': 'Nishigo, Fukushima', 'ja': u('\u897f\u90f7')},
+ '818512':{'en': 'Okinoshima, Shimane', 'ja': u('\u96a0\u5c90\u306e\u5cf6')},
'818514':{'en': 'Ama, Shimane', 'ja': u('\u6d77\u58eb')},
'81852':{'en': 'Matsue, Shimane', 'ja': u('\u677e\u6c5f')},
'81853':{'en': 'Izumo, Shimane', 'ja': u('\u51fa\u96f2')},
@@ -10019,4 +10013,10 @@
'861308381':{'en': 'Xinxiang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u65b0\u4e61\u5e02')},
'861308382':{'en': 'Xinxiang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u65b0\u4e61\u5e02')},
'861308383':{'en': 'Jiaozuo, Henan', 'zh':
u('\u6cb3\u5357\u7701\u7126\u4f5c\u5e02')},
+ '861308384':{'en': 'Jiaozuo, Henan', 'zh':
u('\u6cb3\u5357\u7701\u7126\u4f5c\u5e02')},
+ '861308385':{'en': 'Anyang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5b89\u9633\u5e02')},
+ '861308386':{'en': 'Anyang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5b89\u9633\u5e02')},
+ '861308387':{'en': 'Anyang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5b89\u9633\u5e02')},
+ '861308388':{'en': 'Kaifeng, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
+ '861308389':{'en': 'Puyang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u6fee\u9633\u5e02')},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data15.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data15.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data15.py 2025-08-07
17:30:58.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data15.py 2025-09-26
07:22:24.000000000 +0200
@@ -19,12 +19,6 @@
# limitations under the License.
data = {
- '861308384':{'en': 'Jiaozuo, Henan', 'zh':
u('\u6cb3\u5357\u7701\u7126\u4f5c\u5e02')},
- '861308385':{'en': 'Anyang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5b89\u9633\u5e02')},
- '861308386':{'en': 'Anyang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5b89\u9633\u5e02')},
- '861308387':{'en': 'Anyang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5b89\u9633\u5e02')},
- '861308388':{'en': 'Kaifeng, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
- '861308389':{'en': 'Puyang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u6fee\u9633\u5e02')},
'861308390':{'en': 'Huzhou, Zhejiang', 'zh':
u('\u6d59\u6c5f\u7701\u6e56\u5dde\u5e02')},
'861308391':{'en': 'Huzhou, Zhejiang', 'zh':
u('\u6d59\u6c5f\u7701\u6e56\u5dde\u5e02')},
'861308392':{'en': 'Huzhou, Zhejiang', 'zh':
u('\u6d59\u6c5f\u7701\u6e56\u5dde\u5e02')},
@@ -10019,4 +10013,10 @@
'861324879':{'en': 'Wenzhou, Zhejiang', 'zh':
u('\u6d59\u6c5f\u7701\u6e29\u5dde\u5e02')},
'86132488':{'en': 'Jinhua, Zhejiang', 'zh':
u('\u6d59\u6c5f\u7701\u91d1\u534e\u5e02')},
'86132489':{'en': 'Wenzhou, Zhejiang', 'zh':
u('\u6d59\u6c5f\u7701\u6e29\u5dde\u5e02')},
+ '861324900':{'en': 'Zhongshan, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
+ '861324901':{'en': 'Zhongshan, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
+ '861324902':{'en': 'Zhongshan, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
+ '861324903':{'en': 'Zhongshan, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
+ '861324904':{'en': 'Zhongshan, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
+ '861324905':{'en': 'Shenzhen, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data16.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data16.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data16.py 2025-08-07
17:30:58.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data16.py 2025-09-26
07:22:24.000000000 +0200
@@ -19,12 +19,6 @@
# limitations under the License.
data = {
- '861324900':{'en': 'Zhongshan, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
- '861324901':{'en': 'Zhongshan, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
- '861324902':{'en': 'Zhongshan, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
- '861324903':{'en': 'Zhongshan, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
- '861324904':{'en': 'Zhongshan, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
- '861324905':{'en': 'Shenzhen, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
'861324906':{'en': 'Shenzhen, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
'861324907':{'en': 'Shenzhen, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
'861324908':{'en': 'Shenzhen, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
@@ -10019,4 +10013,10 @@
'861341189':{'en': 'Shenzhen, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
'86134119':{'en': 'Shantou, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
'8613412':{'en': 'Dongguan, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u4e1c\u839e\u5e02')},
+ '86134130':{'en': 'Huizhou, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u60e0\u5dde\u5e02')},
+ '86134131':{'en': 'Huizhou, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u60e0\u5dde\u5e02')},
+ '86134132':{'en': 'Foshan, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u4f5b\u5c71\u5e02')},
+ '86134133':{'en': 'Maoming, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u8302\u540d\u5e02')},
+ '861341340':{'en': 'Shantou, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
+ '861341341':{'en': 'Shantou, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data17.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data17.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data17.py 2025-08-07
17:30:58.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data17.py 2025-09-26
07:22:24.000000000 +0200
@@ -19,12 +19,6 @@
# limitations under the License.
data = {
- '86134130':{'en': 'Huizhou, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u60e0\u5dde\u5e02')},
- '86134131':{'en': 'Huizhou, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u60e0\u5dde\u5e02')},
- '86134132':{'en': 'Foshan, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u4f5b\u5c71\u5e02')},
- '86134133':{'en': 'Maoming, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u8302\u540d\u5e02')},
- '861341340':{'en': 'Shantou, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
- '861341341':{'en': 'Shantou, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
'861341342':{'en': 'Shantou, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
'861341343':{'en': 'Shantou, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
'861341344':{'en': 'Shantou, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
@@ -10019,4 +10013,10 @@
'861365931':{'en': 'Lanzhou, Gansu', 'zh':
u('\u7518\u8083\u7701\u5170\u5dde\u5e02')},
'861365932':{'en': 'Lanzhou, Gansu', 'zh':
u('\u7518\u8083\u7701\u5170\u5dde\u5e02')},
'861365933':{'en': 'Baiyin, Gansu', 'zh':
u('\u7518\u8083\u7701\u767d\u94f6\u5e02')},
+ '861365934':{'en': 'Wuwei, Gansu', 'zh':
u('\u7518\u8083\u7701\u6b66\u5a01\u5e02')},
+ '861365935':{'en': 'Wuwei, Gansu', 'zh':
u('\u7518\u8083\u7701\u6b66\u5a01\u5e02')},
+ '861365936':{'en': 'Jiuquan, Gansu', 'zh':
u('\u7518\u8083\u7701\u9152\u6cc9\u5e02')},
+ '861365937':{'en': 'Jiuquan, Gansu', 'zh':
u('\u7518\u8083\u7701\u9152\u6cc9\u5e02')},
+ '861365938':{'en': 'Tianshui, Gansu', 'zh':
u('\u7518\u8083\u7701\u5929\u6c34\u5e02')},
+ '861365939':{'en': 'Longnan, Gansu', 'zh':
u('\u7518\u8083\u7701\u9647\u5357\u5e02')},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data18.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data18.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data18.py 2025-08-07
17:30:58.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data18.py 2025-09-26
07:22:25.000000000 +0200
@@ -19,12 +19,6 @@
# limitations under the License.
data = {
- '861365934':{'en': 'Wuwei, Gansu', 'zh':
u('\u7518\u8083\u7701\u6b66\u5a01\u5e02')},
- '861365935':{'en': 'Wuwei, Gansu', 'zh':
u('\u7518\u8083\u7701\u6b66\u5a01\u5e02')},
- '861365936':{'en': 'Jiuquan, Gansu', 'zh':
u('\u7518\u8083\u7701\u9152\u6cc9\u5e02')},
- '861365937':{'en': 'Jiuquan, Gansu', 'zh':
u('\u7518\u8083\u7701\u9152\u6cc9\u5e02')},
- '861365938':{'en': 'Tianshui, Gansu', 'zh':
u('\u7518\u8083\u7701\u5929\u6c34\u5e02')},
- '861365939':{'en': 'Longnan, Gansu', 'zh':
u('\u7518\u8083\u7701\u9647\u5357\u5e02')},
'86136594':{'en': 'Lanzhou, Gansu', 'zh':
u('\u7518\u8083\u7701\u5170\u5dde\u5e02')},
'861365950':{'en': 'Lhasa, Tibet', 'zh': u('\u897f\u85cf\u62c9\u8428\u5e02')},
'861365951':{'en': 'Lhasa, Tibet', 'zh': u('\u897f\u85cf\u62c9\u8428\u5e02')},
@@ -10019,4 +10013,10 @@
'861396648':{'en': 'Huainan, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u6dee\u5357\u5e02')},
'861396649':{'en': 'Huainan, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u6dee\u5357\u5e02')},
'86139665':{'en': 'Fuyang, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u961c\u9633\u5e02')},
+ '861396650':{'en': 'Bozhou, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u4eb3\u5dde\u5e02')},
+ '861396651':{'en': 'Bozhou, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u4eb3\u5dde\u5e02')},
+ '861396652':{'en': 'Bozhou, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u4eb3\u5dde\u5e02')},
+ '861396653':{'en': 'Bozhou, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u4eb3\u5dde\u5e02')},
+ '861396660':{'en': 'Anqing, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u5b89\u5e86\u5e02')},
+ '861396661':{'en': 'Anqing, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u5b89\u5e86\u5e02')},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data19.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data19.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data19.py 2025-08-07
17:30:58.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data19.py 2025-09-26
07:22:25.000000000 +0200
@@ -19,12 +19,6 @@
# limitations under the License.
data = {
- '861396650':{'en': 'Bozhou, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u4eb3\u5dde\u5e02')},
- '861396651':{'en': 'Bozhou, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u4eb3\u5dde\u5e02')},
- '861396652':{'en': 'Bozhou, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u4eb3\u5dde\u5e02')},
- '861396653':{'en': 'Bozhou, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u4eb3\u5dde\u5e02')},
- '861396660':{'en': 'Anqing, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u5b89\u5e86\u5e02')},
- '861396661':{'en': 'Anqing, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u5b89\u5e86\u5e02')},
'861396662':{'en': 'Anqing, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u5b89\u5e86\u5e02')},
'861396663':{'en': 'Anqing, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u5b89\u5e86\u5e02')},
'861396664':{'en': 'Anqing, Anhui', 'zh':
u('\u5b89\u5fbd\u7701\u5b89\u5e86\u5e02')},
@@ -10019,4 +10013,10 @@
'861508216':{'en': 'Mianyang, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u7ef5\u9633\u5e02')},
'861508217':{'en': 'Mianyang, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u7ef5\u9633\u5e02')},
'861508218':{'en': 'Mianyang, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u7ef5\u9633\u5e02')},
+ '861508219':{'en': 'Mianyang, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u7ef5\u9633\u5e02')},
+ '861508220':{'en': 'Leshan, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u4e50\u5c71\u5e02')},
+ '861508221':{'en': 'Leshan, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u4e50\u5c71\u5e02')},
+ '861508222':{'en': 'Leshan, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u4e50\u5c71\u5e02')},
+ '861508223':{'en': 'Leshan, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u4e50\u5c71\u5e02')},
+ '861508224':{'en': 'Leshan, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u4e50\u5c71\u5e02')},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data2.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data2.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data2.py 2025-08-07
17:30:57.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data2.py 2025-09-26
07:22:23.000000000 +0200
@@ -19,6 +19,7 @@
# limitations under the License.
data = {
+ '1705368':{'en': 'Little Current, ON'},
'1705375':{'en': 'MacTier, ON'},
'1705377':{'en': 'Mindemoya, ON'},
'1705382':{'en': 'Burk\'s Falls, ON'},
@@ -10018,5 +10019,4 @@
'1918647':{'en': 'Poteau, OK'},
'1918649':{'en': 'Poteau, OK'},
'1918652':{'en': 'Henryetta, OK'},
- '1918653':{'en': 'Heavener, OK'},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data20.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data20.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data20.py 2025-08-07
17:30:59.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data20.py 2025-09-26
07:22:25.000000000 +0200
@@ -19,12 +19,6 @@
# limitations under the License.
data = {
- '861508219':{'en': 'Mianyang, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u7ef5\u9633\u5e02')},
- '861508220':{'en': 'Leshan, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u4e50\u5c71\u5e02')},
- '861508221':{'en': 'Leshan, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u4e50\u5c71\u5e02')},
- '861508222':{'en': 'Leshan, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u4e50\u5c71\u5e02')},
- '861508223':{'en': 'Leshan, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u4e50\u5c71\u5e02')},
- '861508224':{'en': 'Leshan, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u4e50\u5c71\u5e02')},
'861508225':{'en': 'Liangshan, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u51c9\u5c71\u5f5d\u65cf\u81ea\u6cbb\u5dde')},
'861508226':{'en': 'Liangshan, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u51c9\u5c71\u5f5d\u65cf\u81ea\u6cbb\u5dde')},
'861508227':{'en': 'Liangshan, Sichuan', 'zh':
u('\u56db\u5ddd\u7701\u51c9\u5c71\u5f5d\u65cf\u81ea\u6cbb\u5dde')},
@@ -10019,4 +10013,10 @@
'861534514':{'en': 'Yangzhou, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u626c\u5dde\u5e02')},
'861534515':{'en': 'Yancheng, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u76d0\u57ce\u5e02')},
'861534516':{'en': 'Xuzhou, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u5f90\u5dde\u5e02')},
+ '861534517':{'en': 'HuaiAn, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u6dee\u5b89\u5e02')},
+ '861534518':{'en': 'Nanjing, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u5357\u4eac\u5e02')},
+ '861534519':{'en': 'Changzhou, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u5e38\u5dde\u5e02')},
+ '861534520':{'en': 'HuaiAn, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u6dee\u5b89\u5e02')},
+ '861534521':{'en': 'HuaiAn, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u6dee\u5b89\u5e02')},
+ '861534522':{'en': 'Taizhou, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u6cf0\u5dde\u5e02')},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data21.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data21.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data21.py 2025-08-07
17:30:59.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data21.py 2025-09-26
07:22:25.000000000 +0200
@@ -19,12 +19,6 @@
# limitations under the License.
data = {
- '861534517':{'en': 'HuaiAn, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u6dee\u5b89\u5e02')},
- '861534518':{'en': 'Nanjing, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u5357\u4eac\u5e02')},
- '861534519':{'en': 'Changzhou, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u5e38\u5dde\u5e02')},
- '861534520':{'en': 'HuaiAn, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u6dee\u5b89\u5e02')},
- '861534521':{'en': 'HuaiAn, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u6dee\u5b89\u5e02')},
- '861534522':{'en': 'Taizhou, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u6cf0\u5dde\u5e02')},
'861534523':{'en': 'Taizhou, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u6cf0\u5dde\u5e02')},
'861534524':{'en': 'Suzhou, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u82cf\u5dde\u5e02')},
'861534525':{'en': 'Yangzhou, Jiangsu', 'zh':
u('\u6c5f\u82cf\u7701\u626c\u5dde\u5e02')},
@@ -10019,4 +10013,10 @@
'861568531':{'en': 'Guiyang, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u8d35\u9633\u5e02')},
'861568532':{'en': 'Zunyi, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u9075\u4e49\u5e02')},
'861568533':{'en': 'Zunyi, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u9075\u4e49\u5e02')},
+ '861568534':{'en': 'Zunyi, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u9075\u4e49\u5e02')},
+ '861568535':{'en': 'Anshun, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u5b89\u987a\u5e02')},
+ '861568536':{'en': 'Anshun, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u5b89\u987a\u5e02')},
+ '861568537':{'en': 'Anshun, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u5b89\u987a\u5e02')},
+ '861568538':{'en': 'Anshun, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u5b89\u987a\u5e02')},
+ '861568539':{'en': 'Anshun, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u5b89\u987a\u5e02')},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data22.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data22.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data22.py 2025-08-07
17:30:59.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data22.py 2025-09-26
07:22:25.000000000 +0200
@@ -19,12 +19,6 @@
# limitations under the License.
data = {
- '861568534':{'en': 'Zunyi, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u9075\u4e49\u5e02')},
- '861568535':{'en': 'Anshun, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u5b89\u987a\u5e02')},
- '861568536':{'en': 'Anshun, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u5b89\u987a\u5e02')},
- '861568537':{'en': 'Anshun, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u5b89\u987a\u5e02')},
- '861568538':{'en': 'Anshun, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u5b89\u987a\u5e02')},
- '861568539':{'en': 'Anshun, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u5b89\u987a\u5e02')},
'861568540':{'en': 'Qiannan, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u9ed4\u5357\u5e03\u4f9d\u65cf\u82d7\u65cf\u81ea\u6cbb\u5dde')},
'861568541':{'en': 'Guiyang, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u8d35\u9633\u5e02')},
'861568542':{'en': 'Zunyi, Guizhou', 'zh':
u('\u8d35\u5dde\u7701\u9075\u4e49\u5e02')},
@@ -10019,4 +10013,10 @@
'861596034':{'en': 'Longyan, Fujian', 'zh':
u('\u798f\u5efa\u7701\u9f99\u5ca9\u5e02')},
'861596035':{'en': 'Xiamen, Fujian', 'zh':
u('\u798f\u5efa\u7701\u53a6\u95e8\u5e02')},
'861596036':{'en': 'Xiamen, Fujian', 'zh':
u('\u798f\u5efa\u7701\u53a6\u95e8\u5e02')},
+ '861596037':{'en': 'Xiamen, Fujian', 'zh':
u('\u798f\u5efa\u7701\u53a6\u95e8\u5e02')},
+ '861596038':{'en': 'Xiamen, Fujian', 'zh':
u('\u798f\u5efa\u7701\u53a6\u95e8\u5e02')},
+ '861596039':{'en': 'Xiamen, Fujian', 'zh':
u('\u798f\u5efa\u7701\u53a6\u95e8\u5e02')},
+ '861596040':{'en': 'Quanzhou, Fujian', 'zh':
u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
+ '861596041':{'en': 'Quanzhou, Fujian', 'zh':
u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
+ '861596042':{'en': 'Quanzhou, Fujian', 'zh':
u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data23.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data23.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data23.py 2025-08-07
17:30:59.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data23.py 2025-09-26
07:22:25.000000000 +0200
@@ -19,12 +19,6 @@
# limitations under the License.
data = {
- '861596037':{'en': 'Xiamen, Fujian', 'zh':
u('\u798f\u5efa\u7701\u53a6\u95e8\u5e02')},
- '861596038':{'en': 'Xiamen, Fujian', 'zh':
u('\u798f\u5efa\u7701\u53a6\u95e8\u5e02')},
- '861596039':{'en': 'Xiamen, Fujian', 'zh':
u('\u798f\u5efa\u7701\u53a6\u95e8\u5e02')},
- '861596040':{'en': 'Quanzhou, Fujian', 'zh':
u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
- '861596041':{'en': 'Quanzhou, Fujian', 'zh':
u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
- '861596042':{'en': 'Quanzhou, Fujian', 'zh':
u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
'861596043':{'en': 'Quanzhou, Fujian', 'zh':
u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
'861596044':{'en': 'Quanzhou, Fujian', 'zh':
u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
'861596045':{'en': 'Ningde, Fujian', 'zh':
u('\u798f\u5efa\u7701\u5b81\u5fb7\u5e02')},
@@ -10019,4 +10013,10 @@
'861787693':{'en': 'Zhuhai, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u73e0\u6d77\u5e02')},
'861787694':{'en': 'Zhanjiang, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6e5b\u6c5f\u5e02')},
'861787695':{'en': 'Huizhou, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u60e0\u5dde\u5e02')},
+ '861787696':{'en': 'Maoming, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u8302\u540d\u5e02')},
+ '861787697':{'en': 'Zhanjiang, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6e5b\u6c5f\u5e02')},
+ '861787698':{'en': 'Dongguan, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u4e1c\u839e\u5e02')},
+ '861787699':{'en': 'Shenzhen, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
+ '86178770':{'en': 'Nanning, Guangxi', 'zh':
u('\u5e7f\u897f\u5357\u5b81\u5e02')},
+ '861787705':{'en': 'Yulin, Guangxi', 'zh':
u('\u5e7f\u897f\u7389\u6797\u5e02')},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data24.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data24.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data24.py 2025-08-07
17:30:59.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data24.py 2025-09-26
07:22:25.000000000 +0200
@@ -19,12 +19,6 @@
# limitations under the License.
data = {
- '861787696':{'en': 'Maoming, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u8302\u540d\u5e02')},
- '861787697':{'en': 'Zhanjiang, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6e5b\u6c5f\u5e02')},
- '861787698':{'en': 'Dongguan, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u4e1c\u839e\u5e02')},
- '861787699':{'en': 'Shenzhen, Guangdong', 'zh':
u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
- '86178770':{'en': 'Nanning, Guangxi', 'zh':
u('\u5e7f\u897f\u5357\u5b81\u5e02')},
- '861787705':{'en': 'Yulin, Guangxi', 'zh':
u('\u5e7f\u897f\u7389\u6797\u5e02')},
'861787706':{'en': 'Yulin, Guangxi', 'zh':
u('\u5e7f\u897f\u7389\u6797\u5e02')},
'861787708':{'en': 'Hechi, Guangxi', 'zh':
u('\u5e7f\u897f\u6cb3\u6c60\u5e02')},
'86178771':{'en': 'Nanning, Guangxi', 'zh':
u('\u5e7f\u897f\u5357\u5b81\u5e02')},
@@ -10019,4 +10013,10 @@
'861820945':{'en': 'Jinchang, Gansu', 'zh':
u('\u7518\u8083\u7701\u91d1\u660c\u5e02')},
'861820946':{'en': 'Zhangye, Gansu', 'zh':
u('\u7518\u8083\u7701\u5f20\u6396\u5e02')},
'861820947':{'en': 'Jiayuguan, Gansu', 'zh':
u('\u7518\u8083\u7701\u5609\u5cea\u5173\u5e02')},
+ '861820948':{'en': 'Tianshui, Gansu', 'zh':
u('\u7518\u8083\u7701\u5929\u6c34\u5e02')},
+ '861820949':{'en': 'Longnan, Gansu', 'zh':
u('\u7518\u8083\u7701\u9647\u5357\u5e02')},
+ '861820950':{'en': 'Yinchuan, Ningxia', 'zh':
u('\u5b81\u590f\u94f6\u5ddd\u5e02')},
+ '861820951':{'en': 'Yinchuan, Ningxia', 'zh':
u('\u5b81\u590f\u94f6\u5ddd\u5e02')},
+ '861820952':{'en': 'Shizuishan, Ningxia', 'zh':
u('\u5b81\u590f\u77f3\u5634\u5c71\u5e02')},
+ '861820953':{'en': 'Wuzhong, Ningxia', 'zh':
u('\u5b81\u590f\u5434\u5fe0\u5e02')},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data25.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data25.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data25.py 2025-08-07
17:30:59.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data25.py 2025-09-26
07:22:25.000000000 +0200
@@ -19,12 +19,6 @@
# limitations under the License.
data = {
- '861820948':{'en': 'Tianshui, Gansu', 'zh':
u('\u7518\u8083\u7701\u5929\u6c34\u5e02')},
- '861820949':{'en': 'Longnan, Gansu', 'zh':
u('\u7518\u8083\u7701\u9647\u5357\u5e02')},
- '861820950':{'en': 'Yinchuan, Ningxia', 'zh':
u('\u5b81\u590f\u94f6\u5ddd\u5e02')},
- '861820951':{'en': 'Yinchuan, Ningxia', 'zh':
u('\u5b81\u590f\u94f6\u5ddd\u5e02')},
- '861820952':{'en': 'Shizuishan, Ningxia', 'zh':
u('\u5b81\u590f\u77f3\u5634\u5c71\u5e02')},
- '861820953':{'en': 'Wuzhong, Ningxia', 'zh':
u('\u5b81\u590f\u5434\u5fe0\u5e02')},
'861820954':{'en': 'Guyuan, Ningxia', 'zh':
u('\u5b81\u590f\u56fa\u539f\u5e02')},
'861820955':{'en': 'Zhongwei, Ningxia', 'zh':
u('\u5b81\u590f\u4e2d\u536b\u5e02')},
'861820956':{'en': 'Shizuishan, Ningxia', 'zh':
u('\u5b81\u590f\u77f3\u5634\u5c71\u5e02')},
@@ -10019,4 +10013,10 @@
'861856863':{'en': 'Xinxiang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u65b0\u4e61\u5e02')},
'861856864':{'en': 'Kaifeng, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
'861856865':{'en': 'Kaifeng, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
+ '861856866':{'en': 'Kaifeng, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
+ '861856867':{'en': 'Kaifeng, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
+ '861856868':{'en': 'Kaifeng, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
+ '861856869':{'en': 'Xinyang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u4fe1\u9633\u5e02')},
+ '86185687':{'en': 'Nanyang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5357\u9633\u5e02')},
+ '861856870':{'en': 'Xinxiang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u65b0\u4e61\u5e02')},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data26.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data26.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data26.py 2025-08-07
17:30:59.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data26.py 2025-09-26
07:22:25.000000000 +0200
@@ -19,12 +19,6 @@
# limitations under the License.
data = {
- '861856866':{'en': 'Kaifeng, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
- '861856867':{'en': 'Kaifeng, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
- '861856868':{'en': 'Kaifeng, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
- '861856869':{'en': 'Xinyang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u4fe1\u9633\u5e02')},
- '86185687':{'en': 'Nanyang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5357\u9633\u5e02')},
- '861856870':{'en': 'Xinxiang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u65b0\u4e61\u5e02')},
'861856871':{'en': 'Xinxiang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u65b0\u4e61\u5e02')},
'861856872':{'en': 'Xinxiang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u65b0\u4e61\u5e02')},
'861856873':{'en': 'Xinxiang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u65b0\u4e61\u5e02')},
@@ -10019,4 +10013,10 @@
'86188375':{'en': 'Pingdingshan, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5e73\u9876\u5c71\u5e02')},
'86188376':{'en': 'Xinyang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u4fe1\u9633\u5e02')},
'86188377':{'en': 'Nanyang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5357\u9633\u5e02')},
+ '86188378':{'en': 'Kaifeng, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
+ '86188379':{'en': 'Luoyang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u6d1b\u9633\u5e02')},
+ '86188380':{'en': 'Zhengzhou, Henan', 'zh':
u('\u6cb3\u5357\u7701\u90d1\u5dde\u5e02')},
+ '86188381':{'en': 'Zhengzhou, Henan', 'zh':
u('\u6cb3\u5357\u7701\u90d1\u5dde\u5e02')},
+ '86188382':{'en': 'Zhengzhou, Henan', 'zh':
u('\u6cb3\u5357\u7701\u90d1\u5dde\u5e02')},
+ '86188383':{'en': 'Zhoukou, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5468\u53e3\u5e02')},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data27.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data27.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data27.py 2025-08-07
17:30:59.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data27.py 2025-09-26
07:22:25.000000000 +0200
@@ -19,12 +19,6 @@
# limitations under the License.
data = {
- '86188378':{'en': 'Kaifeng, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
- '86188379':{'en': 'Luoyang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u6d1b\u9633\u5e02')},
- '86188380':{'en': 'Zhengzhou, Henan', 'zh':
u('\u6cb3\u5357\u7701\u90d1\u5dde\u5e02')},
- '86188381':{'en': 'Zhengzhou, Henan', 'zh':
u('\u6cb3\u5357\u7701\u90d1\u5dde\u5e02')},
- '86188382':{'en': 'Zhengzhou, Henan', 'zh':
u('\u6cb3\u5357\u7701\u90d1\u5dde\u5e02')},
- '86188383':{'en': 'Zhoukou, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5468\u53e3\u5e02')},
'861883840':{'en': 'Anyang, Henan', 'zh':
u('\u6cb3\u5357\u7701\u5b89\u9633\u5e02')},
'861883841':{'en': 'Luohe, Henan', 'zh':
u('\u6cb3\u5357\u7701\u6f2f\u6cb3\u5e02')},
'861883842':{'en': 'Luohe, Henan', 'zh':
u('\u6cb3\u5357\u7701\u6f2f\u6cb3\u5e02')},
@@ -10019,4 +10013,10 @@
'9171805':{'en': 'Salekasa, Maharashtra'},
'9171806':{'en': 'Salekasa, Maharashtra'},
'9171807':{'en': 'Salekasa, Maharashtra'},
+ '9171812':{'en': 'Lakhandur, Maharashtra'},
+ '9171813':{'en': 'Lakhandur, Maharashtra'},
+ '9171814':{'en': 'Lakhandur, Maharashtra'},
+ '9171815':{'en': 'Lakhandur, Maharashtra'},
+ '9171816':{'en': 'Lakhandur, Maharashtra'},
+ '9171817':{'en': 'Lakhandur, Maharashtra'},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data28.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data28.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data28.py 2025-08-07
17:30:59.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data28.py 2025-09-26
07:22:25.000000000 +0200
@@ -19,12 +19,6 @@
# limitations under the License.
data = {
- '9171812':{'en': 'Lakhandur, Maharashtra'},
- '9171813':{'en': 'Lakhandur, Maharashtra'},
- '9171814':{'en': 'Lakhandur, Maharashtra'},
- '9171815':{'en': 'Lakhandur, Maharashtra'},
- '9171816':{'en': 'Lakhandur, Maharashtra'},
- '9171817':{'en': 'Lakhandur, Maharashtra'},
'9171822':{'en': 'Gondia, Maharashtra'},
'9171823':{'en': 'Gondia, Maharashtra'},
'9171824':{'en': 'Gondia, Maharashtra'},
@@ -3329,7 +3323,9 @@
'97572':{'en': 'Samdrup Jongkhar'},
'97574':{'en': 'Samdrup Jongkhar'},
'97576':{'en': 'Samdrup Jongkhar'},
- '9758':{'en': 'Paro'},
+ '97582':{'en': 'Paro'},
+ '97583':{'en': 'Paro'},
+ '97584':{'en': 'Paro'},
'97611':{'en': 'Ulaanbaatar'},
'976121':{'en': 'Baganuur'},
'976122':{'en': 'Bagakhangai'},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data3.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data3.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data3.py 2025-08-07
17:30:57.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data3.py 2025-09-26
07:22:23.000000000 +0200
@@ -19,6 +19,7 @@
# limitations under the License.
data = {
+ '1918653':{'en': 'Heavener, OK'},
'1918660':{'en': 'Tulsa, OK'},
'1918663':{'en': 'Tulsa, OK'},
'1918664':{'en': 'Tulsa, OK'},
@@ -10018,5 +10019,4 @@
'3323567':{'en': 'Grand-Couronne', 'fr': 'Grand-Couronne'},
'3323568':{'en': 'Petit-Couronne', 'fr': 'Petit-Couronne'},
'3323569':{'en': 'Le Grand Quevilly', 'fr': 'Le Grand Quevilly'},
- '3323570':{'en': 'Rouen', 'fr': 'Rouen'},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data4.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data4.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data4.py 2025-08-07
17:30:57.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data4.py 2025-09-26
07:22:24.000000000 +0200
@@ -19,6 +19,7 @@
# limitations under the License.
data = {
+ '3323570':{'en': 'Rouen', 'fr': 'Rouen'},
'3323571':{'en': 'Rouen', 'fr': 'Rouen'},
'3323572':{'en': 'Rouen', 'fr': 'Rouen'},
'3323573':{'en': 'Rouen', 'fr': 'Rouen'},
@@ -10018,5 +10019,4 @@
'3358673':{'en': 'Saint-Jean-dAngely', 'fr': 'Saint-Jean-dAngely'},
'3358674':{'en': 'Poitiers', 'fr': 'Poitiers'},
'3358675':{'en': u('Angoul\u00eame'), 'fr': u('Angoul\u00eame')},
- '3358676':{'en': 'Rochefort', 'fr': 'Rochefort'},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data5.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data5.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data5.py 2025-08-07
17:30:57.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data5.py 2025-09-26
07:22:24.000000000 +0200
@@ -19,6 +19,7 @@
# limitations under the License.
data = {
+ '3358676':{'en': 'Rochefort', 'fr': 'Rochefort'},
'3358677':{'en': 'La Rochelle', 'fr': 'La Rochelle'},
'3358678':{'en': 'Niort', 'fr': 'Niort'},
'3358679':{'en': 'Niort', 'fr': 'Niort'},
@@ -5084,7 +5085,7 @@
'390825':{'en': 'Avellino', 'it': 'Avellino'},
'390827':{'it': 'Sant\'Angelo dei Lombardi'},
'390828':{'it': 'Battipaglia'},
- '390831':{'it': 'Brindisi'},
+ '390831':{'en': 'Brindisi', 'it': 'Brindisi'},
'390832':{'en': 'Lecce', 'it': 'Lecce'},
'390833':{'it': 'Gallipoli'},
'390835':{'it': 'Matera'},
@@ -10018,5 +10019,4 @@
'494767':{'de': u('Bremerv\u00f6rde-Bevern'), 'en':
u('Bremerv\u00f6rde-Bevern')},
'494768':{'de': 'Hipstedt', 'en': 'Hipstedt'},
'494769':{'de': u('Bremerv\u00f6rde-Iselersheim'), 'en':
u('Bremerv\u00f6rde-Iselersheim')},
- '494770':{'de': 'Wischhafen', 'en': 'Wischhafen'},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data6.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data6.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data6.py 2025-08-07
17:30:57.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data6.py 2025-09-26
07:22:24.000000000 +0200
@@ -19,6 +19,7 @@
# limitations under the License.
data = {
+ '494770':{'de': 'Wischhafen', 'en': 'Wischhafen'},
'494771':{'de': 'Hemmoor', 'en': 'Hemmoor'},
'494772':{'de': 'Oberndorf Oste', 'en': 'Oberndorf Oste'},
'494773':{'de': 'Lamstedt', 'en': 'Lamstedt'},
@@ -10018,5 +10019,4 @@
'55493325':{'en': u('S\u00e3o Carlos - SC'), 'pt': u('S\u00e3o Carlos - SC')},
'55493326':{'en': 'Caxambu do Sul - SC', 'pt': 'Caxambu do Sul - SC'},
'55493327':{'en': 'Nova Itaberaba - SC', 'pt': 'Nova Itaberaba - SC'},
- '55493328':{'en': u('Chapec\u00f3 - SC'), 'pt': u('Chapec\u00f3 - SC')},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data7.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data7.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data7.py 2025-08-07
17:30:58.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data7.py 2025-09-26
07:22:24.000000000 +0200
@@ -19,6 +19,7 @@
# limitations under the License.
data = {
+ '55493328':{'en': u('Chapec\u00f3 - SC'), 'pt': u('Chapec\u00f3 - SC')},
'55493329':{'en': u('Chapec\u00f3 - SC'), 'pt': u('Chapec\u00f3 - SC')},
'55493330':{'en': u('Chapec\u00f3 - SC'), 'pt': u('Chapec\u00f3 - SC')},
'55493332':{'en': u('\u00c1guas Frias - SC'), 'pt': u('\u00c1guas Frias -
SC')},
@@ -10018,5 +10019,4 @@
'609666':{'en': 'Kuala Brang'},
'609667':{'en': 'Kuala Brang'},
'609668':{'en': 'Batu Rakit'},
- '609669':{'en': 'Batu Rakit'},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data8.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data8.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data8.py 2025-08-07
17:30:58.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data8.py 2025-09-26
07:22:24.000000000 +0200
@@ -19,6 +19,7 @@
# limitations under the License.
data = {
+ '609669':{'en': 'Batu Rakit'},
'609679':{'en': 'Jerteh'},
'609680':{'en': 'Kuala Brang'},
'609681':{'en': 'Kuala Brang'},
@@ -412,6 +413,8 @@
'61238214':{'en': 'Tuena'},
'61238215':{'en': 'Wombeyan Caves'},
'61238216':{'en': 'Yerrinbool'},
+ '61238217':{'en': 'Yerrinbool'},
+ '61238218':{'en': 'Yerrinbool'},
'61238219':{'en': 'Woodhouselee'},
'6123822':{'en': 'Wombeyan
Caves/Yerrinbool/Woodhouselee/Bowral/Braidwood/Breadalbane/Bundanoon/Bungonia/Crookwell'},
'6123823':{'en':
'Golspie/Gunning/Taralga/Goulburn/Nerriga/Paddys/River/Reidsdale/Robertson/Rugby/Tarago'},
@@ -901,6 +904,8 @@
'61240687':{'en': 'Cessnock'},
'61240688':{'en': 'Cessnock'},
'61240689':{'en': 'Cessnock'},
+ '61240690':{'en': 'Newcastle'},
+ '61240691':{'en': 'Newcastle'},
'61240692':{'en': 'Bandon Grove'},
'61240693':{'en': 'Branxton'},
'61240694':{'en': 'Bulahdelah'},
@@ -984,6 +989,7 @@
'61240772':{'en': 'Tea Gardens'},
'61240773':{'en': 'Newcastle'},
'61240774':{'en': 'Newcastle'},
+ '61240775':{'en': 'Newcastle'},
'61240776':{'en': 'Newcastle'},
'6124078':{'en': 'Swansea'},
'6124079':{'en': 'Swansea'},
@@ -1080,8 +1086,8 @@
'61242147':{'en': 'Wollongong'},
'61242148':{'en': 'Helensburgh'},
'61242149':{'en': 'Kiama'},
+ '6124215':{'en': 'Wollongong'},
'61242150':{'en': 'Helensburgh'},
- '61242151':{'en': 'Wollongong'},
'6124216':{'en': 'Kiama/Wollongong'},
'6124217':{'en': 'Helensburgh/Kiama/Wollongong'},
'612422':{'en': 'Wollongong'},
@@ -1104,6 +1110,8 @@
'61242492':{'en': 'Wollongong'},
'61242493':{'en': 'Wollongong'},
'61242494':{'en': 'Wollongong'},
+ '61242495':{'en': 'Wollongong'},
+ '61242496':{'en': 'Wollongong'},
'612425':{'en': 'Wollongong'},
'61242550':{'en': 'Helensburgh'},
'6124256':{'en': 'Kiama'},
@@ -8777,7 +8785,7 @@
'61260374':{'en': 'Ournie'},
'61260375':{'en': 'Ournie'},
'61260380':{'en': 'Albury'},
- '61260381':{'en': 'Balldale'},
+ '61260381':{'en': 'Albury'},
'61260382':{'en': 'Barnawartha'},
'61260383':{'en': 'Coppabella'},
'61260384':{'en': 'Corowa'},
@@ -10011,12 +10019,4 @@
'61263766':{'en': 'Monteagle'},
'61263767':{'en': 'Bathurst'},
'61263768':{'en': 'Bathurst'},
- '61263769':{'en': 'Orange'},
- '6126377':{'en': 'Coolah'},
- '61263780':{'en': 'Lue'},
- '61263781':{'en': 'Mudgee'},
- '61263782':{'en': 'Mudgee'},
- '61263783':{'en': 'Birriwa'},
- '61263784':{'en': 'Cassilis'},
- '61263785':{'en': 'Coolah'},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/geodata/data9.py
new/phonenumbers-9.0.15/phonenumbers/geodata/data9.py
--- old/phonenumbers-9.0.11/phonenumbers/geodata/data9.py 2025-08-07
17:30:58.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/geodata/data9.py 2025-09-26
07:22:24.000000000 +0200
@@ -19,6 +19,14 @@
# limitations under the License.
data = {
+ '61263769':{'en': 'Orange'},
+ '6126377':{'en': 'Coolah'},
+ '61263780':{'en': 'Lue'},
+ '61263781':{'en': 'Mudgee'},
+ '61263782':{'en': 'Mudgee'},
+ '61263783':{'en': 'Birriwa'},
+ '61263784':{'en': 'Cassilis'},
+ '61263785':{'en': 'Coolah'},
'61263786':{'en': 'Mudgee'},
'61263787':{'en': 'Gulgong'},
'61263788':{'en': 'Laheys Creek'},
@@ -10011,12 +10019,4 @@
'61350379':{'en': 'Kyalite'},
'61350380':{'en': 'Mallan'},
'61350381':{'en': 'Kyalite'},
- '61350382':{'en': 'Kyalite'},
- '61350383':{'en': 'Manangatang'},
- '61350384':{'en': 'Nandaly'},
- '61350385':{'en': 'Natya'},
- '61350386':{'en': 'Nyah'},
- '61350387':{'en': 'Sea Lake'},
- '61350388':{'en': 'Natya'},
- '61350389':{'en': 'Natya'},
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/phonenumbers-9.0.11/phonenumbers/shortdata/region_DE.py
new/phonenumbers-9.0.15/phonenumbers/shortdata/region_DE.py
--- old/phonenumbers-9.0.11/phonenumbers/shortdata/region_DE.py 2025-08-07
17:30:56.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/shortdata/region_DE.py 2025-09-26
07:22:22.000000000 +0200
@@ -2,10 +2,10 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_DE = PhoneMetadata(id='DE', country_code=None,
international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[137]\\d{2,5}',
possible_length=(3, 4, 5, 6)),
+ general_desc=PhoneNumberDesc(national_number_pattern='[1-46-8]\\d{2,5}',
possible_length=(3, 4, 5, 6)),
toll_free=PhoneNumberDesc(national_number_pattern='11(?:[02]|6\\d{3})',
example_number='110', possible_length=(3, 6)),
emergency=PhoneNumberDesc(national_number_pattern='11[02]',
example_number='110', possible_length=(3,)),
-
short_code=PhoneNumberDesc(national_number_pattern='11(?:[025]|6(?:00[06]|1(?:1[167]|23))|800\\d)|3311|7(?:0\\d{3}|464)|118\\d\\d',
example_number='110', possible_length=(3, 4, 5, 6)),
-
carrier_specific=PhoneNumberDesc(national_number_pattern='(?:331|7(?:0\\d\\d|46))\\d',
example_number='3310', possible_length=(4, 5)),
- sms_services=PhoneNumberDesc(national_number_pattern='7(?:0\\d\\d|46)\\d',
example_number='7460', possible_length=(4, 5)),
+
short_code=PhoneNumberDesc(national_number_pattern='11(?:[025]|6(?:00[06]|1(?:1[167]|23))|800\\d)|22(?:044|5(?:43|80)|7700|922)|33(?:11|3[34])|44844|600\\d\\d|7(?:0\\d{3}|464)|80808|118\\d\\d',
example_number='110', possible_length=(3, 4, 5, 6)),
+
carrier_specific=PhoneNumberDesc(national_number_pattern='(?:33[13]|746)\\d|(?:22(?:[059]|7\\d)|(?:44|80)8|600|70\\d)\\d\\d',
example_number='3310', possible_length=(4, 5, 6)),
+
sms_services=PhoneNumberDesc(national_number_pattern='(?:333|746)\\d|(?:22(?:[059]|7\\d)|(?:44|80)8|600|70\\d)\\d\\d',
example_number='3330', possible_length=(4, 5, 6)),
short_data=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/phonenumbers-9.0.11/phonenumbers/shortdata/region_ES.py
new/phonenumbers-9.0.15/phonenumbers/shortdata/region_ES.py
--- old/phonenumbers-9.0.11/phonenumbers/shortdata/region_ES.py 2025-08-07
17:30:56.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/shortdata/region_ES.py 2025-09-26
07:22:22.000000000 +0200
@@ -6,8 +6,8 @@
toll_free=PhoneNumberDesc(national_number_pattern='0(?:16|6[57]|8[58])|1(?:006|12|[3-7]\\d\\d)|(?:116|20\\d)\\d{3}',
example_number='016', possible_length=(3, 4, 6)),
premium_rate=PhoneNumberDesc(national_number_pattern='[12]2\\d{1,4}|90(?:5\\d|7)|(?:118|2(?:[357]\\d|80)|3[357]\\d)\\d\\d|[79]9[57]\\d{3}',
example_number='120', possible_length=(3, 4, 5, 6)),
emergency=PhoneNumberDesc(national_number_pattern='08[58]|112',
example_number='085', possible_length=(3,)),
-
short_code=PhoneNumberDesc(national_number_pattern='0(?:1[0-26]|6[0-257]|8[058]|9[12])|1(?:0[03-57]\\d{1,3}|1(?:2|6(?:000|111)|8\\d\\d)|2\\d{1,4}|[3-9]\\d\\d)|2(?:2\\d{1,4}|80\\d\\d)|90(?:5[124578]|7)|1(?:3[34]|77)|(?:2[01]\\d|[79]9[57])\\d{3}|[23][357]\\d{3}',
example_number='010', possible_length=(3, 4, 5, 6)),
-
standard_rate=PhoneNumberDesc(national_number_pattern='0(?:[16][0-2]|80|9[12])|21\\d{4}',
example_number='010', possible_length=(3, 6)),
+
short_code=PhoneNumberDesc(national_number_pattern='0(?:1[0-267]|2[148]|6[0-257]|8[058]|9[12])|1(?:0[03-57]\\d{1,3}|1(?:2|6(?:000|111)|8\\d\\d)|2\\d{1,4}|[3-9]\\d\\d)|2(?:2\\d{1,4}|80\\d\\d)|90(?:5[124578]|7)|1(?:3[34]|77)|(?:2[01]\\d|[79]9[57])\\d{3}|[23][357]\\d{3}',
example_number='010', possible_length=(3, 4, 5, 6)),
+
standard_rate=PhoneNumberDesc(national_number_pattern='0(?:1[0-27]|2[148]|6[0-2]|80|9[12])|21\\d{4}',
example_number='010', possible_length=(3, 6)),
carrier_specific=PhoneNumberDesc(national_number_pattern='1(?:3[34]|77)|[12]2\\d{1,4}',
example_number='120', possible_length=(3, 4, 5, 6)),
sms_services=PhoneNumberDesc(national_number_pattern='(?:2[0-2]\\d|3[357]|[79]9[57])\\d{3}|2(?:[2357]\\d|80)\\d\\d',
example_number='22000', possible_length=(5, 6)),
short_data=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/phonenumbers-9.0.11/phonenumbers/shortdata/region_UY.py
new/phonenumbers-9.0.15/phonenumbers/shortdata/region_UY.py
--- old/phonenumbers-9.0.11/phonenumbers/shortdata/region_UY.py 2025-08-07
17:30:56.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/shortdata/region_UY.py 2025-09-26
07:22:22.000000000 +0200
@@ -2,9 +2,9 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_UY = PhoneMetadata(id='UY', country_code=None,
international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[129]\\d{2,4}',
possible_length=(3, 4, 5)),
+ general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2,4}',
possible_length=(3, 4, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='128|911',
example_number='128', possible_length=(3,)),
emergency=PhoneNumberDesc(national_number_pattern='128|911',
example_number='128', possible_length=(3,)),
-
short_code=PhoneNumberDesc(national_number_pattern='1(?:0[4-9]|1[2368]|2[0-3568]|787|997\\d?)|21997|911',
example_number='104', possible_length=(3, 4, 5)),
+
short_code=PhoneNumberDesc(national_number_pattern='1(?:0[4-9]|1[2368]|2[0-3568]|787|997\\d?)|911',
example_number='104', possible_length=(3, 4, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='178\\d',
example_number='1780', possible_length=(4,)),
short_data=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers/tzdata/data0.py
new/phonenumbers-9.0.15/phonenumbers/tzdata/data0.py
--- old/phonenumbers-9.0.11/phonenumbers/tzdata/data0.py 2025-08-07
17:31:00.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers/tzdata/data0.py 2025-09-26
07:22:26.000000000 +0200
@@ -1228,6 +1228,7 @@
'1682':('America/Chicago',),
'1683':('America/Toronto',),
'1684':('Pacific/Pago_Pago',),
+ '1686':('America/New_York',),
'1689':('America/Chicago',),
'1701':('America/Denver', 'America/North_Dakota/Center'),
'1701200':('America/Chicago',),
@@ -2881,10 +2882,7 @@
'61734976':('Australia/Brisbane',),
'617350':('Australia/Brisbane',),
'617353':('Australia/Brisbane',),
- '6173540':('Australia/Brisbane',),
- '6173546':('Australia/Brisbane',),
- '6173547':('Australia/Brisbane',),
- '6173548':('Australia/Brisbane',),
+ '617354':('Australia/Brisbane',),
'617355':('Australia/Brisbane',),
'61735678':('Australia/Brisbane',),
'617360':('Australia/Brisbane',),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/phonenumbers-9.0.11/phonenumbers.egg-info/PKG-INFO
new/phonenumbers-9.0.15/phonenumbers.egg-info/PKG-INFO
--- old/phonenumbers-9.0.11/phonenumbers.egg-info/PKG-INFO 2025-08-07
17:42:33.000000000 +0200
+++ new/phonenumbers-9.0.15/phonenumbers.egg-info/PKG-INFO 2025-09-26
07:32:20.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: phonenumbers
-Version: 9.0.11
+Version: 9.0.15
Summary: Python version of Google's common library for parsing, formatting,
storing and validating international phone numbers.
Home-page: https://github.com/daviddrysdale/python-phonenumbers
Author: David Drysdale