[addresses] only use ordinal for digits
This commit is contained in:
@@ -297,7 +297,7 @@ class AddressComponents(object):
|
|||||||
combo = weighted_choice(values, probs)
|
combo = weighted_choice(values, probs)
|
||||||
if combo is not None:
|
if combo is not None:
|
||||||
components = OrderedDict.fromkeys(combo['components']).keys()
|
components = OrderedDict.fromkeys(combo['components']).keys()
|
||||||
if not all((c in address_components and (c in generated_components or address_components[c].isdigit()) for c in components)):
|
if not all((c in address_components and (c in generated_components or self.is_numeric(address_components[c])) for c in components)):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
values = []
|
values = []
|
||||||
|
|||||||
@@ -192,7 +192,7 @@ class NumberedComponent(object):
|
|||||||
# If we're using something like "Floor A" or "Unit 2L", remove ordinal/affix items
|
# If we're using something like "Floor A" or "Unit 2L", remove ordinal/affix items
|
||||||
if is_alpha:
|
if is_alpha:
|
||||||
values, probs = zip(*[(v, p) for v, p in zip(values, probs) if v in ('numeric', 'null', 'standalone')])
|
values, probs = zip(*[(v, p) for v, p in zip(values, probs) if v in ('numeric', 'null', 'standalone')])
|
||||||
total = sum(probs)
|
total = float(sum(probs))
|
||||||
probs = [p / total for p in probs]
|
probs = [p / total for p in probs]
|
||||||
|
|
||||||
probs = cdf(probs)
|
probs = cdf(probs)
|
||||||
@@ -232,12 +232,14 @@ class NumberedComponent(object):
|
|||||||
|
|
||||||
whitespace_default = True
|
whitespace_default = True
|
||||||
|
|
||||||
|
num = safe_decode(num)
|
||||||
|
|
||||||
if num_type == 'numeric_affix':
|
if num_type == 'numeric_affix':
|
||||||
phrase = props['affix']
|
phrase = props['affix']
|
||||||
if props.get('upper_case', True):
|
if props.get('upper_case', True):
|
||||||
phrase = phrase.upper()
|
phrase = phrase.upper()
|
||||||
whitespace_default = False
|
whitespace_default = False
|
||||||
elif num_type == 'ordinal':
|
elif num_type == 'ordinal' and safe_decode(num).isdigit():
|
||||||
num = ordinal_expressions.suffixed_number(num, language, gender=props.get('gender', None))
|
num = ordinal_expressions.suffixed_number(num, language, gender=props.get('gender', None))
|
||||||
|
|
||||||
if random.random() < props.get('null_phrase_probability', 0.0):
|
if random.random() < props.get('null_phrase_probability', 0.0):
|
||||||
|
|||||||
Reference in New Issue
Block a user