[addresses] adding function to generate phrases for addr:conscriptionnumber in OSM, e.g. č.p. 123 in the Czech Republic

This commit is contained in:
Al
2016-12-21 00:35:39 -05:00
parent 63006a0c8b
commit eafafab959
4 changed files with 54 additions and 0 deletions

View File

@@ -49,6 +49,18 @@ and:
sample: true sample: true
sample_probability: 0.05 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: cross_streets:
and: *a and: *a
at: &na at: &na

View File

@@ -68,6 +68,17 @@ house_numbers:
alphanumeric_phrase_probability: 0.0001 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: and:
default: &und default: &und

View File

@@ -50,6 +50,18 @@ and:
sample: true sample: true
sample_probability: 0.05 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: cross_streets:
and: *a and: *a
at: &na at: &na

View File

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