svn keywords
[plcapi.git] / PLC / PCUs.py
index 2bace8b..0bcaa67 100644 (file)
@@ -4,7 +4,8 @@
 # Mark Huang <mlhuang@cs.princeton.edu>
 # Copyright (C) 2006 The Trustees of Princeton University
 #
-# $Id: PCUs.py,v 1.8 2006/11/08 23:00:00 mlhuang Exp $
+# $Id$
+# $URL$
 #
 
 from PLC.Faults import *
@@ -12,7 +13,7 @@ from PLC.Parameter import Parameter
 from PLC.Filter import Filter
 from PLC.Debug import profile
 from PLC.Table import Row, Table
-from PLC.NodeNetworks import valid_ip, NodeNetwork, NodeNetworks
+from PLC.Interfaces import valid_ip, Interface, Interfaces
 from PLC.Nodes import Node, Nodes
 
 class PCU(Row):
@@ -100,17 +101,17 @@ class PCUs(Table):
     database.
     """
 
-    def __init__(self, api, pcu_filter = None):
-        Table.__init__(self, api, PCU)
+    def __init__(self, api, pcu_filter = None, columns = None):
+        Table.__init__(self, api, PCU, columns)
 
         sql = "SELECT %s FROM view_pcus WHERE True" % \
-              ", ".join(PCU.fields)
+              ", ".join(self.columns)
 
         if pcu_filter is not None:
             if isinstance(pcu_filter, (list, tuple, set)):
                 pcu_filter = Filter(PCU.fields, {'pcu_id': pcu_filter})
             elif isinstance(pcu_filter, dict):
                 pcu_filter = Filter(PCU.fields, pcu_filter)
-            sql += " AND (%s)" % pcu_filter.sql(api)
+            sql += " AND (%s) %s" % pcu_filter.sql(api)
 
         self.selectall(sql)