summaryrefslogtreecommitdiffstats
path: root/askbot/utils/category_tree.py
diff options
context:
space:
mode:
Diffstat (limited to 'askbot/utils/category_tree.py')
-rw-r--r--askbot/utils/category_tree.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/askbot/utils/category_tree.py b/askbot/utils/category_tree.py
index b4ad7f2a..049315dc 100644
--- a/askbot/utils/category_tree.py
+++ b/askbot/utils/category_tree.py
@@ -66,6 +66,18 @@ def get_data():
else:
return None
+def _get_leaf_names(subtree):
+ leaf_names = set()
+ for leaf in subtree:
+ leaf_names.add(leaf[0])
+ leaf_names |= _get_leaf_names(leaf[1])
+ return leaf_names
+
+def get_leaf_names(tree = None):
+ """returns set of leaf names"""
+ data = tree or get_data()
+ return _get_leaf_names(data[0][1])
+
def path_is_valid(tree, path):
try:
get_subtree(tree, path)