diff options
Diffstat (limited to 'askbot/utils/category_tree.py')
-rw-r--r-- | askbot/utils/category_tree.py | 12 |
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) |