def data_rules_template(categoryid, templateid, userid=None): template = get_template_by_id(templateid) category = get_category_by_id(categoryid) if userid != None: user = get_user_by_id(userid) rules = get_rules(conflevel=confuser, template=template, category=category, user=user) else: rules = get_rules(template=template, category=category) ret = [] for tag in rules: ntag = tag['tag'].name for rule in tag['rules']: trule = {'name': rule['rule'].name, 'id': rule['rule'].id, 'tag': ntag} if rule['choice'].has_key('current'): trule['current-state'] = rule['choice']['current'].state trule['current-value'] = rule['choice']['current'].value if rule['choice'].has_key('herited'): trule['herited-state'] = rule['choice']['herited'].state trule['herited-value'] = rule['choice']['herited'].value ret.append(trule) return json.dumps(ret)
import pprint metadata.bind = "sqlite:///gaspacho.sqlite" setup_all() from api.categories import get_conflevel #--BEURK-- from bdd.groups import Group, User mathroom = Group.query.filter_by(id=4).first() tplfirefox = Group.query.filter_by(id=3).first() student = User.query.filter_by(id=1).first() confuser, confcomputer = get_conflevel() pp = pprint.PrettyPrinter(depth=7) #list all rules with default settings for confuser pp.pprint(get_rules(confuser)) #pp.pprint(get_rules(confcomputer)) #list all rules with choices #pp.pprint(get_rules(confuser, group=mathroom, user=student)) #pp.pprint(get_rules(confcomputer, group=tplfirefox)) #list groups #pp.pprint(get_groups()) #pp.pprint(get_groups(only_templates=True)) #list all users #pp.pprint(get_users()) #pp.pprint(get_users(u'group')) #pp.pprint(get_users(u'user'))