[jToolkit-cvs] jToolkit/data database.py,1.19,1.20 dbtable.py,1.9,1.10
Brought to you by:
davidfraser,
friedelwolff
From: <dav...@us...> - 2004-02-09 14:44:11
|
Update of /cvsroot/jtoolkit/jToolkit/data In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19292 Modified Files: database.py dbtable.py Log Message: Changes made to jToolkit for functionality jBrowser needs Index: database.py =================================================================== RCS file: /cvsroot/jtoolkit/jToolkit/data/database.py,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** database.py 9 Feb 2004 14:36:09 -0000 1.19 --- database.py 9 Feb 2004 14:40:57 -0000 1.20 *************** *** 206,210 **** self.db = self.driver.connect(None,database=self.instance.DBNAME,host=None, user=self.instance.DBUSER,password=self.instance.DBPASSWORD,provider=self.instance.DBPROVIDER) ! elif self.DBTYPE in 'sqlserver': self.errorhandler.logtrace('dblogin: dbname = %s, dbhost = %s, dbuser = %s' % \ (self.instance.DBNAME, self.instance.DBHOST, self.instance.DBUSER)) --- 206,210 ---- self.db = self.driver.connect(None,database=self.instance.DBNAME,host=None, user=self.instance.DBUSER,password=self.instance.DBPASSWORD,provider=self.instance.DBPROVIDER) ! elif self.DBTYPE == 'sqlserver': self.errorhandler.logtrace('dblogin: dbname = %s, dbhost = %s, dbuser = %s' % \ (self.instance.DBNAME, self.instance.DBHOST, self.instance.DBUSER)) Index: dbtable.py =================================================================== RCS file: /cvsroot/jtoolkit/jToolkit/data/dbtable.py,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** dbtable.py 9 Feb 2004 14:11:12 -0000 1.9 --- dbtable.py 9 Feb 2004 14:40:57 -0000 1.10 *************** *** 26,33 **** """DBTable is an abstraction of a table and its related data""" def __init__(self, db, tablename, columnlist, rowidcols, orderbycols): ! """initialises the DBTable""" self.db = db self.tablename = tablename ! self.columnlist = columnlist self.rowidcols = rowidcols if type(self.rowidcols) in (str, unicode): self.rowidcols = [self.rowidcols] --- 26,36 ---- """DBTable is an abstraction of a table and its related data""" def __init__(self, db, tablename, columnlist, rowidcols, orderbycols): ! """initialises the DBTable ! columnlist is a list of (columnname, columntype) tuples ! rowidcols and orderbycols can either be a single column name string or a list of them""" self.db = db self.tablename = tablename ! self.columnlist = [column[0] for column in columnlist] ! self.columntypes = dict(columnlist) self.rowidcols = rowidcols if type(self.rowidcols) in (str, unicode): self.rowidcols = [self.rowidcols] *************** *** 72,78 **** return "" def getrecord(self, rowid): """retrieves the record corresponding to the given rowid""" ! sql = "select * from %s where %s" % (self.tablename, self.rowidclause(rowid)) record = self.db.singlerowdict(sql, self.db.lower) for key, value in record.iteritems(): --- 75,85 ---- return "" + def getsqlcolumns(self): + """returns the list of columns joined with commas (for sql statements)""" + return ", ".join(self.columnlist) + def getrecord(self, rowid): """retrieves the record corresponding to the given rowid""" ! sql = "select %s from %s where %s" % (self.getsqlcolumns(), self.tablename, self.rowidclause(rowid)) record = self.db.singlerowdict(sql, self.db.lower) for key, value in record.iteritems(): *************** *** 89,93 **** """retrieves a default record for new categories""" # if sensible values are needed here, this method can be overridden ! return dict([(column[0], '') for column in self.columnlist]) def getfilterclause(self, filter): --- 96,100 ---- """retrieves a default record for new categories""" # if sensible values are needed here, this method can be overridden ! return dict([(column, '') for column in self.columnlist]) def getfilterclause(self, filter): *************** *** 102,106 **** def getsomerecord(self, filter = None): """retrieves a single rowid & record when you don't know which one you want...""" ! sql = "select * from %s %s %s" % (self.tablename, self.getfilterclause(filter), self.orderbyclause()) record = self.db.singlerowdict(sql, self.db.lower) rowid = self.getrowid(record) --- 109,113 ---- def getsomerecord(self, filter = None): """retrieves a single rowid & record when you don't know which one you want...""" ! sql = "select %s from %s %s %s" % (self.getsqlcolumns(), self.tablename, self.getfilterclause(filter), self.orderbyclause()) record = self.db.singlerowdict(sql, self.db.lower) rowid = self.getrowid(record) *************** *** 109,119 **** def gettablerows(self, filter = None): """retrieves all the rows in the table""" ! sql = "select * from %s %s %s" % (self.tablename, self.getfilterclause(filter), self.orderbyclause()) return self.db.allrowdicts(sql, self.db.lower) def addrow(self, argdict): """add the row to the table""" ! validcolumns = [column[0] for column in self.columnlist] ! valuesdict = cidict.filterdict(cidict.cidict(argdict), validcolumns) self.db.insert(self.tablename, valuesdict) --- 116,125 ---- def gettablerows(self, filter = None): """retrieves all the rows in the table""" ! sql = "select %s from %s %s %s" % (self.getsqlcolumns(), self.tablename, self.getfilterclause(filter), self.orderbyclause()) return self.db.allrowdicts(sql, self.db.lower) def addrow(self, argdict): """add the row to the table""" ! valuesdict = cidict.filterdict(cidict.cidict(argdict), self.columnlist) self.db.insert(self.tablename, valuesdict) *************** *** 138,142 **** """creates the table represented by self, using tablename and columnlist and returning success""" sql = "create table %s (" % self.tablename ! sql += ", ".join([column[0]+" "+self.db.dbtypename(column[1]) for column in self.columnlist]) sql += ")" try: --- 144,148 ---- """creates the table represented by self, using tablename and columnlist and returning success""" sql = "create table %s (" % self.tablename ! sql += ", ".join([column+" "+self.db.dbtypename(self.columntypes[column]) for column in self.columnlist]) sql += ")" try: |