From 3617b3a10c49eba809a3b28f06fb41cb58b54b41 Mon Sep 17 00:00:00 2001 From: Al Date: Wed, 16 Nov 2016 02:14:28 -0500 Subject: [PATCH] [fix] recursive merge for entries that are empty dictionaries --- scripts/geodata/address_formatting/formatter.py | 3 ++- scripts/geodata/configs/utils.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/geodata/address_formatting/formatter.py b/scripts/geodata/address_formatting/formatter.py index 14a001d4..e24fe004 100644 --- a/scripts/geodata/address_formatting/formatter.py +++ b/scripts/geodata/address_formatting/formatter.py @@ -266,8 +266,9 @@ class AddressFormatter(object): def insertion_distribution(self, insertions): values = [] probs = [] + for k, v in six.iteritems(insertions): - if k == 'conditional': + if k == 'conditional' or not v: continue allow_between_house_number_and_road = v.get('allow_between_house_number_and_road', False) diff --git a/scripts/geodata/configs/utils.py b/scripts/geodata/configs/utils.py index 33e6d470..8ca5503c 100644 --- a/scripts/geodata/configs/utils.py +++ b/scripts/geodata/configs/utils.py @@ -4,7 +4,7 @@ from collections import Mapping def recursive_merge(a, b): for k, v in six.iteritems(b): - if isinstance(v, Mapping): + if isinstance(v, Mapping) and v: existing = a.get(k, v) merged = recursive_merge(existing, v) a[k] = merged