X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=db-config;h=0ed69dbaa5376d2f2328b5fede8ad4826607e3e6;hb=refs%2Fheads%2F4.3;hp=1eb78b10e462803d13fb69e382d3c9c222220ee8;hpb=c72a5a97985809365debbd8372682a80ae3f59e9;p=myplc.git diff --git a/db-config b/db-config index 1eb78b1..0ed69db 100755 --- a/db-config +++ b/db-config @@ -11,7 +11,7 @@ # $HeadURL$ from plc_config import PLCConfiguration -import sys +import sys, os import resource g_url = "" @@ -20,6 +20,17 @@ def SetMyPLCURL(url): global g_url g_url = url +# Get all currently registered roles +g_role_names = [ role['name'] for role in GetRoles()] +g_role_names.sort() + +def SetRole(level, role): + global g_role_names + if role not in g_role_names: + AddRole(level, role) + g_role_names.append(role) + g_role_names.sort() + # Get list of existing tag types g_known_tag_types = [tag_type['tagname'] for tag_type in GetTagTypes()] g_known_tag_types.sort() @@ -91,22 +102,28 @@ def SetSlice(slice, tags): # Get slice structure with all fields slice = GetSlices([slice_name])[0] - # Create/update all tags - slice_tags = {} + # Create/delete all tags + # NOTE: update is not needed, since unspecified tags are deleted, + # and new tags are added + slice_tags = [] if slice['slice_tag_ids']: # Delete unknown attributes for slice_tag in GetSliceTags(slice['slice_tag_ids']): + # ignore sliver tags, as those are custom/run-time values + if slice_tag['node_id'] <> None: continue if (slice_tag['tagname'], slice_tag['value']) not in tags: DeleteSliceTag(slice_tag['slice_tag_id']) else: - slice_tags[slice_tag['tagname']]=slice_tag['value'] + slice_tags.append((slice_tag['tagname'],slice_tag['value'])) - # only update slice tags that have changed + # only add slice tags that are new for (name, value) in tags: - if name not in slice_tags: + if (name,value) not in slice_tags: AddSliceTag(slice_name, name, value) - elif value <> slice_tags[name]: - UpdateSliceTag(slice_name,value) + else: + # NOTE: this confirms that the user-specified tag is + # returned by GetSliceTags + pass def SetMessage(message): messages = GetMessages([message['message_id']])