diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2017-06-23 13:40:07 -0400 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2017-06-23 18:31:34 +0000 |
commit | 2430197500a63e6384070959dd8f6a741d11d342 (patch) | |
tree | 4253dfc51facaab8a9b6cfa3617b79ecef7ae68e | |
parent | f43e5d6889b4b1bfe1ec610de845eef67a0856fe (diff) | |
download | phosphor-objmgr-2430197500a63e6384070959dd8f6a741d11d342.tar.gz phosphor-objmgr-2430197500a63e6384070959dd8f6a741d11d342.zip |
server: fix unexpected GetSubTreePaths behavior
The intent is that subtree paths enumerate all paths, even paths
that don't have any objects associated with them. For example
a get subtree paths on /xyz should provide /xyz/openbmc_project.
Starting with 1c33c22 get subtree paths incorrectly searches for
paths with objects under them.
Resolves: openbmc/openbmc#1544
Change-Id: If6db079d10a4216b192bf18d26b4bacbcc264314
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
-rw-r--r-- | obmc/mapper/server.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/obmc/mapper/server.py b/obmc/mapper/server.py index 18f50c1..0766daf 100644 --- a/obmc/mapper/server.py +++ b/obmc/mapper/server.py @@ -555,7 +555,9 @@ class ObjectMapper(dbus.service.Object): @dbus.service.method(obmc.mapper.MAPPER_IFACE, 'sias', 'as') def GetSubTreePaths(self, path, depth, interfaces): try: - return self.GetSubTree(path, depth, interfaces).iterkeys() + return self.filter_interfaces( + self.cache.iteritems(path, depth), + interfaces) except KeyError: raise MapperNotFoundException(path) |