diff --git a/resources/addresses/cs.yaml b/resources/addresses/cs.yaml index 57907ceb..12729e1b 100644 --- a/resources/addresses/cs.yaml +++ b/resources/addresses/cs.yaml @@ -49,6 +49,18 @@ and: sample: true sample_probability: 0.05 +conscription_numbers: + alphanumeric: + default: + canonical: číslo popisné + abbreviated: "č.p." + canonical_probability: 0.05 + abbreviated_probability: 0.85 + sample: true + sample_probability: 0.1 + numeric: + direction: left + cross_streets: and: *a at: &na diff --git a/resources/addresses/de.yaml b/resources/addresses/de.yaml index 9814d2d5..40078b51 100644 --- a/resources/addresses/de.yaml +++ b/resources/addresses/de.yaml @@ -68,6 +68,17 @@ house_numbers: alphanumeric_phrase_probability: 0.0001 +conscription_numbers: + alphanumeric: + default: + canonical: konskriptionsnummer + abbreviated: konskr. nr + canonical_probability: 0.15 + abbreviated_probability: 0.65 + sample: true + sample_probability: 0.2 + numeric: + direction: left and: default: &und diff --git a/resources/addresses/sk.yaml b/resources/addresses/sk.yaml index 27187f20..5fab09ba 100644 --- a/resources/addresses/sk.yaml +++ b/resources/addresses/sk.yaml @@ -50,6 +50,18 @@ and: sample: true sample_probability: 0.05 +conscription_numbers: + alphanumeric: + default: + canonical: súpisné číslo + abbreviated: s.č. + canonical_probability: 0.05 + abbreviated_probability: 0.85 + sample: true + sample_probability: 0.1 + numeric: + direction: left + cross_streets: and: *a at: &na diff --git a/scripts/geodata/addresses/conscription_numbers.py b/scripts/geodata/addresses/conscription_numbers.py new file mode 100644 index 00000000..0e6e3732 --- /dev/null +++ b/scripts/geodata/addresses/conscription_numbers.py @@ -0,0 +1,19 @@ +import random + +from geodata.addresses.config import address_config +from geodata.addresses.numbering import NumberedComponent +from geodata.encoding import safe_decode + + +class ConscriptionNumber(NumberedComponent): + @classmethod + def phrase(cls, number, language, country=None): + if number is None: + return number + + key = 'conscription_numbers.alphanumeric' + dictionaries = ['house_numbers'] + default = safe_decode(number) + + return cls.numeric_phrase(key, safe_decode(number), language, + dictionaries=dictionaries, country=country)