@@ -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