Browse Source

BaseStorage.find_node() got optional parameter 'search_aliases'

By default find_node looks into the aliases of a node, too, to find the
requested node. In some cases, this behaviour is not wanted so we add a
possibility to disable this feature.
Helge Jung 9 years ago
parent
commit
043f2e76c2
1 changed files with 2 additions and 2 deletions
  1. 2 2
      ffstatus/basestorage.py

+ 2 - 2
ffstatus/basestorage.py

@@ -183,7 +183,7 @@ class BaseStorage(object):
 
         return result
 
-    def find_node(self, rawid, include_raw_data=False):
+    def find_node(self, rawid, include_raw_data=False, search_aliases=True):
         """
         Fetch node data by given id.
         If necessary, look through node aliases.
@@ -205,7 +205,7 @@ class BaseStorage(object):
                 return sanitize_node(node, include_raw_data=include_raw_data)
 
             # search through aliases
-            if 'aliases' in node and rawid in node['aliases']:
+            if search_aliases and rawid in node.get('aliases', []):
                 found = node
 
         # return found node