====
[plcapi.git] / PLC / InterfaceTags.py
index 6713a3d..af1deb4 100644 (file)
@@ -1,14 +1,12 @@
-# $Id#
 #
 # Thierry Parmentelat - INRIA
 #
-# $Revision$
-#
 from PLC.Faults import *
 from PLC.Parameter import Parameter
 from PLC.Filter import Filter
 from PLC.Table import Row, Table
 from PLC.TagTypes import TagType, TagTypes
+from PLC.Interfaces import Interface
 
 class InterfaceTag(Row):
     """
@@ -20,15 +18,15 @@ class InterfaceTag(Row):
     primary_key = 'interface_tag_id'
     fields = {
         'interface_tag_id': Parameter(int, "Interface setting identifier"),
-        'interface_id': Parameter(int, "Interface identifier"),
+        'interface_id': Interface.fields['interface_id'],
+        'ip': Interface.fields['ip'],
         'tag_type_id': TagType.fields['tag_type_id'],
         'tagname': TagType.fields['tagname'],
         'description': TagType.fields['description'],
         'category': TagType.fields['category'],
-        'min_role_id': TagType.fields['min_role_id'],
         'value': Parameter(str, "Interface setting value"),
-       ### relations
-       
+        ### relations
+
         }
 
 class InterfaceTags(Table):
@@ -44,12 +42,10 @@ class InterfaceTags(Table):
               ", ".join(self.columns)
 
         if interface_tag_filter is not None:
-            if isinstance(interface_tag_filter, (list, tuple, set)):
+            if isinstance(interface_tag_filter, (list, tuple, set, int, long)):
                 interface_tag_filter = Filter(InterfaceTag.fields, {'interface_tag_id': interface_tag_filter})
             elif isinstance(interface_tag_filter, dict):
                 interface_tag_filter = Filter(InterfaceTag.fields, interface_tag_filter)
-            elif isinstance(interface_tag_filter, int):
-                interface_tag_filter = Filter(InterfaceTag.fields, {'interface_tag_id': [interface_tag_filter]})
             else:
                 raise PLCInvalidArgument, "Wrong interface setting filter %r"%interface_tag_filter
             sql += " AND (%s) %s" % interface_tag_filter.sql(api)