diff --git a/src/mra.py b/src/mra.py index 86eb3acbe8f117df73202243951d8d23df3ed5c9..873b83f3fee8d64795849c2f71baa22da04325b3 100644 --- a/src/mra.py +++ b/src/mra.py @@ -628,8 +628,14 @@ class Workspace(Mapfile): def get_store_info(self, st_type, name, exclude=None): info = self.get_mra_metadata("%ss" % st_type, {})[name].copy() info["name"] = name - for k in exclude: - info.pop(k) + + for v in exclude: + path = tuple(k for k in v.split('.')) + copy = info + for m in path[:-1]: + copy = copy.get(m) + del copy[path[-1]] + return info def iter_store_names(self, st_type): @@ -662,7 +668,8 @@ class Workspace(Mapfile): def get_datastore_info(self, name): """Returns info for a datastore from the workspace.""" - return self.get_store_info("datastore", name, exclude=["password"]) + return self.get_store_info( + "datastore", name, exclude=["connectionParameters.password"]) def iter_datastore_names(self): """Return an iterator over the datastore names."""