spelling
[plcapi.git] / PLC / Keys.py
index 86569fc..06b920c 100644 (file)
@@ -1,3 +1,4 @@
+# $Id#
 import re
 
 from PLC.Faults import *
@@ -26,11 +27,6 @@ class Key(Row):
         'peer_key_id': Parameter(int, "Foreign key identifier at peer", nullok = True),
         }
 
-    # for Cache
-    class_key= 'key'
-    foreign_fields = ['key_type']
-    foreign_xrefs = []
-
     def validate_key_type(self, key_type):
         key_types = [row['key_type'] for row in KeyTypes(self.api)]
         if key_type not in key_types:
@@ -93,7 +89,7 @@ class Key(Row):
                        " WHERE key_id IN (%s)" % ", ".join(map(str, key_ids)))
 
        # But disassociate them from all join tables
-        for table in ['person_key']:
+        for table in self.join_tables:
             self.api.db.do("DELETE FROM %s WHERE key_id IN (%s)" % \
                            (table, ", ".join(map(str, key_ids))))
 
@@ -106,22 +102,17 @@ class Keys(Table):
     database.
     """
 
-    def __init__(self, api, key_filter = None, columns = None, peer_id = None):
+    def __init__(self, api, key_filter = None, columns = None):
         Table.__init__(self, api, Key, columns)
        
        sql = "SELECT %s FROM view_keys WHERE is_blacklisted IS False" % \
               ", ".join(self.columns)
 
-        if peer_id is None:
-            sql += " AND peer_id IS NULL"
-        elif isinstance(peer_id, (int, long)):
-            sql += " AND peer_id = %d" % peer_id
-
         if key_filter is not None:
             if isinstance(key_filter, (list, tuple, set)):
                 key_filter = Filter(Key.fields, {'key_id': key_filter})
             elif isinstance(key_filter, dict):
                 key_filter = Filter(Key.fields, key_filter)
-            sql += " AND (%s)" % key_filter.sql(api)
+            sql += " AND (%s) %s" % key_filter.sql(api)
 
        self.selectall(sql)