7 def get_members_of_list(lst):
8 return moira.query('get_members_of_list', lst)
11 if lst in cache: return cache[lst]
13 members = get_members_of_list(lst)
14 except moira.MoiraException, e:
16 if message == "Insufficient permission to perform requested database access":
17 cache[lst] = [{'member_type': 'ERR', 'member_name':'** Error: no permissions to look up this list **'}]
20 for member in members:
21 if member['member_type'] == 'LIST':
22 member['members'] = expand(member['member_name'])
26 def print_tree(path, lst_tree):
27 for member in lst_tree:
28 if 'members' in member:
29 path.append(member['member_name'])
30 print_tree(path, member['members'])
33 if member['member_type'] == "USER":
34 text = member['member_name']
35 elif member['member_type'] == "ERR":
36 text = member['member_name']
38 text = "%s:%s" % (member['member_type'], member['member_name'], )
39 print ": ".join(path+[text])
43 print_tree([lst], result)
45 if __name__ == '__main__':