1 files changed, 6 insertions, 3 deletions
diff --git a/synapse/util/caches/treecache.py b/synapse/util/caches/treecache.py
index 460e98a92d..fcc341a6b7 100644
--- a/synapse/util/caches/treecache.py
+++ b/synapse/util/caches/treecache.py
@@ -65,16 +65,19 @@ class TreeCache(object):
return popped
def values(self):
- return list(popped_to_iterator(self.root))
+ return list(iterate_tree_cache_entry(self.root))
def __len__(self):
return self.size
-def popped_to_iterator(d):
+def iterate_tree_cache_entry(d):
+ """Helper function to iterate over the leaves of a tree, i.e. a dict of that
+ can contain dicts.
+ """
if isinstance(d, dict):
for value_d in d.itervalues():
- for value in popped_to_iterator(value_d):
+ for value in iterate_tree_cache_entry(value_d):
yield value
else:
if isinstance(d, _Entry):
|