[addresses] Using Digits.rewrite for entrance, staircase, floor numbers, and PO boxes
This commit is contained in:
@@ -8,7 +8,7 @@ from geodata.encoding import safe_decode
|
|||||||
from geodata.configs.utils import nested_get
|
from geodata.configs.utils import nested_get
|
||||||
from geodata.addresses.directions import RelativeDirection
|
from geodata.addresses.directions import RelativeDirection
|
||||||
from geodata.addresses.floors import Floor
|
from geodata.addresses.floors import Floor
|
||||||
from geodata.addresses.numbering import NumberedComponent, sample_alphabet, latin_alphabet
|
from geodata.addresses.numbering import NumberedComponent, Digits, sample_alphabet, latin_alphabet
|
||||||
from geodata.encoding import safe_decode
|
from geodata.encoding import safe_decode
|
||||||
from geodata.math.sampling import weighted_choice, zipfian_distribution, cdf
|
from geodata.math.sampling import weighted_choice, zipfian_distribution, cdf
|
||||||
|
|
||||||
@@ -28,7 +28,8 @@ class Entrance(NumberedComponent):
|
|||||||
|
|
||||||
if num_type == cls.NUMERIC:
|
if num_type == cls.NUMERIC:
|
||||||
number = weighted_choice(cls.entrance_range, cls.entrance_range_cdf)
|
number = weighted_choice(cls.entrance_range, cls.entrance_range_cdf)
|
||||||
return safe_decode(number)
|
number = safe_decode(number)
|
||||||
|
return Digits.rewrite(number, language, num_type_props)
|
||||||
else:
|
else:
|
||||||
alphabet = address_config.get_property('alphabet', language, country=country, default=latin_alphabet)
|
alphabet = address_config.get_property('alphabet', language, country=country, default=latin_alphabet)
|
||||||
letter = sample_alphabet(alphabet, 2.0)
|
letter = sample_alphabet(alphabet, 2.0)
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import six
|
|||||||
|
|
||||||
from geodata.addresses.config import address_config
|
from geodata.addresses.config import address_config
|
||||||
|
|
||||||
from geodata.addresses.numbering import NumberedComponent, sample_alphabet, latin_alphabet
|
from geodata.addresses.numbering import NumberedComponent, Digits, sample_alphabet, latin_alphabet
|
||||||
from geodata.encoding import safe_decode
|
from geodata.encoding import safe_decode
|
||||||
from geodata.math.sampling import weighted_choice, zipfian_distribution, cdf
|
from geodata.math.sampling import weighted_choice, zipfian_distribution, cdf
|
||||||
from geodata.numbers.spellout import numeric_expressions
|
from geodata.numbers.spellout import numeric_expressions
|
||||||
@@ -57,7 +57,8 @@ class Floor(NumberedComponent):
|
|||||||
number += numbering_starts_at
|
number += numbering_starts_at
|
||||||
|
|
||||||
if num_type == cls.NUMERIC:
|
if num_type == cls.NUMERIC:
|
||||||
return safe_decode(number)
|
number = safe_decode(number)
|
||||||
|
return Digits.rewrite(number, language, num_type_props)
|
||||||
elif num_type == cls.ROMAN_NUMERAL:
|
elif num_type == cls.ROMAN_NUMERAL:
|
||||||
roman_numeral = numeric_expressions.roman_numeral(number)
|
roman_numeral = numeric_expressions.roman_numeral(number)
|
||||||
if roman_numeral is not None:
|
if roman_numeral is not None:
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import random
|
|||||||
import six
|
import six
|
||||||
|
|
||||||
from geodata.addresses.config import address_config
|
from geodata.addresses.config import address_config
|
||||||
from geodata.addresses.numbering import NumberedComponent, sample_alphabet, latin_alphabet
|
from geodata.addresses.numbering import NumberedComponent, Digits, sample_alphabet, latin_alphabet
|
||||||
from geodata.encoding import safe_decode
|
from geodata.encoding import safe_decode
|
||||||
from geodata.math.sampling import cdf, weighted_choice
|
from geodata.math.sampling import cdf, weighted_choice
|
||||||
|
|
||||||
@@ -49,7 +49,9 @@ class POBox(NumberedComponent):
|
|||||||
|
|
||||||
num_digits = weighted_choice(values, probs)
|
num_digits = weighted_choice(values, probs)
|
||||||
|
|
||||||
number = cls.random_digits(num_digits)
|
digits = cls.random_digits(num_digits)
|
||||||
|
number = Digits.rewrite(digits, language, num_type_props)
|
||||||
|
|
||||||
|
|
||||||
if num_type == cls.NUMERIC:
|
if num_type == cls.NUMERIC:
|
||||||
return safe_decode(number)
|
return safe_decode(number)
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from geodata.encoding import safe_decode
|
|||||||
from geodata.configs.utils import nested_get
|
from geodata.configs.utils import nested_get
|
||||||
from geodata.addresses.directions import RelativeDirection
|
from geodata.addresses.directions import RelativeDirection
|
||||||
from geodata.addresses.floors import Floor
|
from geodata.addresses.floors import Floor
|
||||||
from geodata.addresses.numbering import NumberedComponent, sample_alphabet, latin_alphabet
|
from geodata.addresses.numbering import NumberedComponent, Digits, sample_alphabet, latin_alphabet
|
||||||
from geodata.encoding import safe_decode
|
from geodata.encoding import safe_decode
|
||||||
from geodata.math.sampling import weighted_choice, zipfian_distribution, cdf
|
from geodata.math.sampling import weighted_choice, zipfian_distribution, cdf
|
||||||
|
|
||||||
@@ -28,7 +28,8 @@ class Staircase(NumberedComponent):
|
|||||||
|
|
||||||
if num_type == cls.NUMERIC:
|
if num_type == cls.NUMERIC:
|
||||||
number = weighted_choice(cls.staircase_range, cls.staircase_range_cdf)
|
number = weighted_choice(cls.staircase_range, cls.staircase_range_cdf)
|
||||||
return safe_decode(number)
|
number = safe_decode(number)
|
||||||
|
return Digits.rewrite(number, language, num_type_props)
|
||||||
else:
|
else:
|
||||||
alphabet = address_config.get_property('alphabet', language, country=country, default=latin_alphabet)
|
alphabet = address_config.get_property('alphabet', language, country=country, default=latin_alphabet)
|
||||||
letter = sample_alphabet(alphabet, 2.0)
|
letter = sample_alphabet(alphabet, 2.0)
|
||||||
|
|||||||
Reference in New Issue
Block a user