Skip to content

Commit

Permalink
Don't propagate the special -1 value for possible_length
Browse files Browse the repository at this point in the history
  • Loading branch information
daviddrysdale committed Sep 20, 2016
1 parent 052cb44 commit 8311701
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 5 deletions.
2 changes: 1 addition & 1 deletion python/tests/testdata/region_800.py
Expand Up @@ -2,7 +2,7 @@
from phonenumbers.phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata

PHONE_METADATA_800 = PhoneMetadata(id='001', country_code=800, international_prefix=None,
general_desc=PhoneNumberDesc(national_number_pattern='\\d{8}', possible_number_pattern='\\d{8}', example_number='12345678', possible_length=(-1, 8)),
general_desc=PhoneNumberDesc(national_number_pattern='\\d{8}', possible_number_pattern='\\d{8}', example_number='12345678', possible_length=(8,)),
fixed_line=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA', example_number='12345678'),
mobile=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA', example_number='12345678'),
toll_free=PhoneNumberDesc(national_number_pattern='\\d{8}', possible_number_pattern='\\d{8}', example_number='12345678', possible_length=(8,)),
Expand Down
2 changes: 1 addition & 1 deletion python/tests/testdata/region_979.py
Expand Up @@ -2,7 +2,7 @@
from phonenumbers.phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata

PHONE_METADATA_979 = PhoneMetadata(id='001', country_code=979, international_prefix=None,
general_desc=PhoneNumberDesc(national_number_pattern='\\d{9}', possible_number_pattern='\\d{9}', example_number='123456789', possible_length=(-1, 9)),
general_desc=PhoneNumberDesc(national_number_pattern='\\d{9}', possible_number_pattern='\\d{9}', example_number='123456789', possible_length=(9,)),
fixed_line=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA', example_number='123456789'),
mobile=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA', example_number='123456789'),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
Expand Down
10 changes: 7 additions & 3 deletions tools/python/buildmetadatafromxml.py
Expand Up @@ -345,7 +345,7 @@ def __init__(self, xtag, template=None, fill_na=True, lengths_expected=True):
# that this sub-type of number doesn't actually exist.
if fill_na:
raise Exception("Found possibleLengths -1 for unexpected number type")
self.o.possible_length = [-1]
self.o.possible_length = (-1,)
return
self.o.possible_length = _extract_lengths(national_lengths)
local_lengths = possible_lengths.get('localOnly', None) # IMPLIED attribute
Expand Down Expand Up @@ -480,12 +480,16 @@ def __init__(self, xterritory, short_data):
for desc in sub_descs:
if desc.o is None:
continue
if desc.o.possible_length is not None:
if desc.o.possible_length is not None and desc.o.possible_length != (-1,):
possible_lengths.update(desc.o.possible_length)
if desc.o.possible_length_local_only is not None:
if desc.o.possible_length_local_only is not None and desc.o.possible_length_local_only != (-1, ):
local_lengths.update(desc.o.possible_length_local_only)
self.o.general_desc.o.possible_length = sorted(list(possible_lengths))
self.o.general_desc.o.possible_length_local_only = sorted(list(local_lengths))
if -1 in self.o.general_desc.o.possible_length:
raise Exception("Found -1 length in general_desc.possible_length")
if -1 in self.o.general_desc.o.possible_length_local_only:
raise Exception("Found -1 length in general_desc.possible_length_local_only")

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

0 comments on commit 8311701

Please sign in to comment.