From 6ff0b25f40d4878d8a0c7c78ac8fac47d954907f Mon Sep 17 00:00:00 2001 From: Al Date: Wed, 20 Apr 2016 17:06:30 -0400 Subject: [PATCH] [addresses] Generate house number related phrases --- scripts/geodata/addresses/house_numbers.py | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 scripts/geodata/addresses/house_numbers.py diff --git a/scripts/geodata/addresses/house_numbers.py b/scripts/geodata/addresses/house_numbers.py new file mode 100644 index 00000000..fd4f93af --- /dev/null +++ b/scripts/geodata/addresses/house_numbers.py @@ -0,0 +1,26 @@ +import random + +from geodata.addresses.config import address_config +from geodata.addresses.numbering import NumberedComponent +from geodata.encoding import safe_decode + + +class HouseNumber(NumberedComponent): + @classmethod + def phrase(cls, number, language, country=None): + if number is not None: + prob_key = 'house_numbers.alphanumeric_phrase_probability' + key = 'house_numbers.alphanumeric' + dictionaries = ['house_numbers'] + default = safe_decode(number) + else: + prob_key = 'house_numbers.no_number_probability' + key = 'house_numbers.no_number' + dictionaries = ['no_number'] + default = None + + phrase_prob = address_config.get_property(prob_key, language, country=country, default=0.0) + if random.random() < phrase_prob: + return cls.numeric_phrase(key, safe_decode(number), language, + dictionaries=dictionaries, country=country) + return default