X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=osm_ro%2Fwim%2Fpersistence.py;fp=osm_ro%2Fwim%2Fpersistence.py;h=b956965b320b13b22b5bae327cbc73ae789e6253;hb=fed47b0903b8e5ee93591ef53540432d3ecce796;hp=8f95d5639d389cd762af87a02a8976a0ac988afc;hpb=0fb702806f0ae0e3157fffcd541537293edb84b8;p=osm%2FRO.git diff --git a/osm_ro/wim/persistence.py b/osm_ro/wim/persistence.py index 8f95d563..b956965b 100644 --- a/osm_ro/wim/persistence.py +++ b/osm_ro/wim/persistence.py @@ -326,12 +326,11 @@ class WimPersistence(object): where = {'uuid': wim['uuid']} # unserialize config, edit and serialize it again - if wim_descriptor.get('config'): - new_config_dict = wim_descriptor["config"] - config_dict = remove_none_items(merge_dicts( - wim.get('config') or {}, new_config_dict)) - wim_descriptor['config'] = ( - _serialize(config_dict) if config_dict else None) + new_config_dict = wim_descriptor.get('config', {}) or {} + config_dict = remove_none_items(merge_dicts( + wim.get('config', {}) or {}, new_config_dict)) + wim_descriptor['config'] = ( + _serialize(config_dict) if config_dict else None) with self.lock: self.db.update_rows('wims', wim_descriptor, where) @@ -508,8 +507,12 @@ class WimPersistence(object): See :obj:`~.query` for additional keyword arguments. """ - kwargs.update(datacenter=datacenter, tenant=tenant) - return self.query(_DATACENTER_JOIN, **kwargs) + if tenant: + kwargs.update(datacenter=datacenter, tenant=tenant) + return self.query(_DATACENTER_JOIN, **kwargs) + else: + return [self.get_by_name_or_uuid('datacenters', + datacenter, **kwargs)] def get_datacenter_by(self, datacenter=None, tenant=None, **kwargs): """Similar to ``get_datacenters_by``, but ensuring just one result""" @@ -622,7 +625,7 @@ class WimPersistence(object): return [ {'wim_id': key[0], 'datacenter_id': key[1], - 'wan_pop_port_mappings': [ + 'pop_wan_mappings': [ filter_out_dict_keys(mapping, ( 'id', 'wim_id', 'datacenter_id', 'created_at', 'modified_at'))