X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Futil%2Ftable.py;h=065e8abb5d86470ee1e1cad53aa6bb36ec8d2a56;hb=57b6a99255d4a88be9c0f910f8524677e34ff4bc;hp=83646273f13eaeb818b62db45f87128605289353;hpb=d9de5d922ee22c61250c3b4eb3249f7ddd4dcf58;p=sfa.git diff --git a/sfa/util/table.py b/sfa/util/table.py index 83646273..065e8abb 100644 --- a/sfa/util/table.py +++ b/sfa/util/table.py @@ -1,19 +1,15 @@ -### $Id$ -### $URL$ # # implements support for SFA records stored in db tables # # TODO: Use existing PLC database methods? or keep this separate? -import report -import pgdb +from types import StringTypes -from sfa.util.PostgreSQL import * -from sfa.trust.gid import * -from sfa.util.record import * -from sfa.util.debug import * -from sfa.util.config import * -from sfa.util.filter import * +from sfa.util.config import Config +from sfa.util.parameter import Parameter +from sfa.util.filter import Filter +from sfa.util.PostgreSQL import PostgreSQL +from sfa.util.record import SfaRecord, AuthorityRecord, NodeRecord, SliceRecord, UserRecord class SfaTable(list): @@ -28,7 +24,7 @@ class SfaTable(list): if record_filter: records = self.find(record_filter) - for record in reocrds: + for record in records: self.append(record) def exists(self): @@ -41,7 +37,7 @@ class SfaTable(list): def db_fields(self, obj=None): db_fields = self.db.fields(self.SFA_TABLE_PREFIX) - return dict( [ (key,value) for (key, value) in obj.items() \ + return dict( [ (key,value) for (key, value) in obj.iteritems() \ if key in db_fields and self.is_writable(key, value, SfaRecord.fields)] ) @@ -104,7 +100,7 @@ class SfaTable(list): def insert(self, record): db_fields = self.db_fields(record) keys = db_fields.keys() - values = [self.db.param(key, value) for (key, value) in db_fields.items()] + values = [self.db.param(key, value) for (key, value) in db_fields.iteritems()] query_str = "INSERT INTO " + self.tablename + \ "(" + ",".join(keys) + ") " + \ "VALUES(" + ",".join(values) + ")" @@ -123,7 +119,7 @@ class SfaTable(list): def update(self, record): db_fields = self.db_fields(record) keys = db_fields.keys() - values = [self.db.param(key, value) for (key, value) in db_fields.items()] + values = [self.db.param(key, value) for (key, value) in db_fields.iteritems()] columns = ["%s = %s" % (key, value) for (key, value) in zip(keys, values)] query_str = "UPDATE %s SET %s WHERE record_id = %s" % \ (self.tablename, ", ".join(columns), record['record_id'])