Skip to content

Commit 8311701

Browse files
committed
Don't propagate the special -1 value for possible_length
1 parent 052cb44 commit 8311701

3 files changed

Lines changed: 9 additions & 5 deletions

File tree

python/tests/testdata/region_800.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from phonenumbers.phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
33

44
PHONE_METADATA_800 = PhoneMetadata(id='001', country_code=800, international_prefix=None,
5-
general_desc=PhoneNumberDesc(national_number_pattern='\\d{8}', possible_number_pattern='\\d{8}', example_number='12345678', possible_length=(-1, 8)),
5+
general_desc=PhoneNumberDesc(national_number_pattern='\\d{8}', possible_number_pattern='\\d{8}', example_number='12345678', possible_length=(8,)),
66
fixed_line=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA', example_number='12345678'),
77
mobile=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA', example_number='12345678'),
88
toll_free=PhoneNumberDesc(national_number_pattern='\\d{8}', possible_number_pattern='\\d{8}', example_number='12345678', possible_length=(8,)),

python/tests/testdata/region_979.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from phonenumbers.phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
33

44
PHONE_METADATA_979 = PhoneMetadata(id='001', country_code=979, international_prefix=None,
5-
general_desc=PhoneNumberDesc(national_number_pattern='\\d{9}', possible_number_pattern='\\d{9}', example_number='123456789', possible_length=(-1, 9)),
5+
general_desc=PhoneNumberDesc(national_number_pattern='\\d{9}', possible_number_pattern='\\d{9}', example_number='123456789', possible_length=(9,)),
66
fixed_line=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA', example_number='123456789'),
77
mobile=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA', example_number='123456789'),
88
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),

tools/python/buildmetadatafromxml.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ def __init__(self, xtag, template=None, fill_na=True, lengths_expected=True):
345345
# that this sub-type of number doesn't actually exist.
346346
if fill_na:
347347
raise Exception("Found possibleLengths -1 for unexpected number type")
348-
self.o.possible_length = [-1]
348+
self.o.possible_length = (-1,)
349349
return
350350
self.o.possible_length = _extract_lengths(national_lengths)
351351
local_lengths = possible_lengths.get('localOnly', None) # IMPLIED attribute
@@ -480,12 +480,16 @@ def __init__(self, xterritory, short_data):
480480
for desc in sub_descs:
481481
if desc.o is None:
482482
continue
483-
if desc.o.possible_length is not None:
483+
if desc.o.possible_length is not None and desc.o.possible_length != (-1,):
484484
possible_lengths.update(desc.o.possible_length)
485-
if desc.o.possible_length_local_only is not None:
485+
if desc.o.possible_length_local_only is not None and desc.o.possible_length_local_only != (-1, ):
486486
local_lengths.update(desc.o.possible_length_local_only)
487487
self.o.general_desc.o.possible_length = sorted(list(possible_lengths))
488488
self.o.general_desc.o.possible_length_local_only = sorted(list(local_lengths))
489+
if -1 in self.o.general_desc.o.possible_length:
490+
raise Exception("Found -1 length in general_desc.possible_length")
491+
if -1 in self.o.general_desc.o.possible_length_local_only:
492+
raise Exception("Found -1 length in general_desc.possible_length_local_only")
489493

490494
# Now that the union of length information is available, trickle it back down to those types
491495
# of number that didn't specify any length information (indicated by having those fields set

0 commit comments

Comments
 (0)