X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FNodeTags.py;h=7f69e3259663a51e8204ab8ed46fe81c1f385ab9;hb=3b5488ae78737346dee9cf2a26d8c982dd1eb01e;hp=6577c91a59be974c01dc1ad1a905a6fd431da095;hpb=7ba889dd89500f8c0695ef21bfda28291bb4f9da;p=plcapi.git diff --git a/PLC/NodeTags.py b/PLC/NodeTags.py index 6577c91..7f69e32 100644 --- a/PLC/NodeTags.py +++ b/PLC/NodeTags.py @@ -1,13 +1,12 @@ # # Thierry Parmentelat - INRIA # -# $Revision: 9423 $ -# from PLC.Faults import * from PLC.Parameter import Parameter from PLC.Filter import Filter from PLC.Table import Row, Table -from PLC.NodeTagTypes import NodeTagType, NodeTagTypes +from PLC.Nodes import Node, Nodes +from PLC.TagTypes import TagType, TagTypes class NodeTag(Row): """ @@ -19,15 +18,13 @@ class NodeTag(Row): primary_key = 'node_tag_id' fields = { 'node_tag_id': Parameter(int, "Node tag identifier"), - 'node_id': Parameter(int, "Node identifier"), - 'node_tag_type_id': NodeTagType.fields['node_tag_type_id'], - 'name': NodeTagType.fields['name'], - 'description': NodeTagType.fields['description'], - 'category': NodeTagType.fields['category'], - 'min_role_id': NodeTagType.fields['min_role_id'], + 'node_id': Node.fields['node_id'], + 'hostname' : Node.fields['hostname'], + 'tag_type_id': TagType.fields['tag_type_id'], 'value': Parameter(str, "Node tag value"), - ### relations - + 'tagname': TagType.fields['tagname'], + 'description': TagType.fields['description'], + 'category': TagType.fields['category'], } class NodeTags(Table): @@ -43,12 +40,10 @@ class NodeTags(Table): ", ".join(self.columns) if node_tag_filter is not None: - if isinstance(node_tag_filter, (list, tuple, set)): + if isinstance(node_tag_filter, (list, tuple, set, int, long)): node_tag_filter = Filter(NodeTag.fields, {'node_tag_id': node_tag_filter}) elif isinstance(node_tag_filter, dict): node_tag_filter = Filter(NodeTag.fields, node_tag_filter) - elif isinstance(node_tag_filter, int): - node_tag_filter = Filter(NodeTag.fields, {'node_tag_id': [node_tag_filter]}) else: raise PLCInvalidArgument, "Wrong node tag filter %r"%node_tag_filter sql += " AND (%s) %s" % node_tag_filter.sql(api)