- UpdateTagType(tag_type['tagname'], tag_type)
- if 'roles' in tag_type:
- for role in tag_type['roles']:
- AddRoleToTagType(role,tag_type['tagname'])
+ UpdateTagType(tagname, tag_type)
+ # enforce provided roles if present
+ try:
+ old_roles=GetTagTypes(tagname)[0]['roles']
+ for minus_role in set(old_roles).difference(set(roles)):
+ DeleteRoleFromTagType(minus_role,tagname)
+ for plus_role in set(roles).difference(set(old_roles)):
+ AddRoleToType(plus_role,tagname)
+ except:
+ # something went wrong for that tagname,
+ # but don't want to break the whole startup sequence
+ print "Could not enforce roles on tagtype %s"%tagname
+ pass