[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue gnue-common/src/GDataObjects.py gnue-commo...
From: |
James Thompson |
Subject: |
gnue gnue-common/src/GDataObjects.py gnue-commo... |
Date: |
Tue, 18 Sep 2001 14:18:46 -0400 |
CVSROOT: /cvs
Module name: gnue
Changes by: James Thompson <address@hidden> 01/09/18 14:18:46
Modified files:
gnue-common/src: GDataObjects.py
gnue-common/src/dbdrivers/_dbsig: DBdriver.py
gnuef/src/GFObjects: GFBlock.py
Log message:
*************THIS BREAKS PYTHON 1.5.2 SUPPORT***********************
Modified recordset setField to allow override of modification flag (for
internal use)
Work on _recordCount in recordsets
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/src/GDataObjects.py.diff?cvsroot=OldCVS&tr1=1.21&tr2=1.22&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/src/dbdrivers/_dbsig/DBdriver.py.diff?cvsroot=OldCVS&tr1=1.17&tr2=1.18&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/GFObjects/GFBlock.py.diff?cvsroot=OldCVS&tr1=1.14&tr2=1.15&r1=text&r2=text
Patches:
Index: gnue/gnue-common/src/GDataObjects.py
diff -u gnue/gnue-common/src/GDataObjects.py:1.21
gnue/gnue-common/src/GDataObjects.py:1.22
--- gnue/gnue-common/src/GDataObjects.py:1.21 Mon Sep 17 22:11:17 2001
+++ gnue/gnue-common/src/GDataObjects.py Tue Sep 18 14:18:46 2001
@@ -291,6 +291,7 @@
# Get a specific record (0=based)
def getRecord(self, record):
+ print "GDataObjects.py record %s, cached %s " % (record,
len(self._cachedRecords))
while (record + 1 > len(self._cachedRecords)) and self._loadNextRecord():
pass
@@ -372,15 +373,12 @@
GDebug.printMesg(7,'Inserting a blank record')
self._currentRecord = self._currentRecord+1
self._cachedRecords.insert(self._currentRecord,
self._createEmptyRecord())
+ self._recordCount += 1
self.current = self._cachedRecords[self._currentRecord]
if self._masterRecordSet != None and hasattr(self._dataObject,
'_masterfields'):
i = 0
for field in self._dataObject._masterfields:
- # We will not call setField because we don't wan't want
auto-populated
- # fields to report the record as pending a post.
- print "Setting %s to %s" % (field,
self._masterRecordSet.getField(field))
- self.current._fields[self._dataObject._detailfields[i]] = \
- self._masterRecordSet.getField(field)
+
self.current.setField(self._dataObject._detailfields[i],self._masterRecordSet.getField(field),0)
i = i + 1
self.notifyDetailObjects()
@@ -518,23 +516,26 @@
# Sets current value of "field"
- def setField(self, field, value):
+ # If trackMod is set to 0 then the modification flag isn't raised
+ def setField(self, field, value, trackMod = 1):
# If this field is bound to a datasource and the datasource is read only,
# generate an error.
if self._parent.isFieldBound(field) and self._parent.isReadOnly():
# Provide better feedback??
raise ReadOnlyError, "Attempted to modify read only field '%s'" % field
else:
- self._emptyFlag = 0
fn = string.lower(field)
self._fields[fn] = "%s" % value
- if self._parent.isFieldBound(field):
- self._updateFlag = 1
- if self._modifiedFlags.has_key(fn):
- flag = self._modifiedFlags[fn] + 1
- else:
- flag = 1
- self._modifiedFlags[fn] = flag
+ print "I set %s to %s with a modtrack of %s" %(fn,value,trackMod)
+ if trackMod == 1:
+ self._emptyFlag = 0
+ if self._parent.isFieldBound(field):
+ self._updateFlag = 1
+ if self._modifiedFlags.has_key(fn):
+ flag = self._modifiedFlags[fn] + 1
+ else:
+ flag = 1
+ self._modifiedFlags[fn] = flag
# Returns 1=Field has been modified
Index: gnue/gnue-common/src/dbdrivers/_dbsig/DBdriver.py
diff -u gnue/gnue-common/src/dbdrivers/_dbsig/DBdriver.py:1.17
gnue/gnue-common/src/dbdrivers/_dbsig/DBdriver.py:1.18
--- gnue/gnue-common/src/dbdrivers/_dbsig/DBdriver.py:1.17 Wed Sep 12
15:03:05 2001
+++ gnue/gnue-common/src/dbdrivers/_dbsig/DBdriver.py Tue Sep 18 14:18:46 2001
@@ -138,6 +138,7 @@
self,dataObject,cursor,defaultValues,masterRecordSet)
self._recordSetClass = DBSIG_RecordSet
self._fieldNames = None
+ self._recordCount = cursor.rowcount
# If a DB driver supports a unique identifier for rows,
# list it here. _primaryIdField is the field name (lower case)
@@ -241,7 +242,6 @@
except self._DatabaseError, err:
raise GDataObjects.ConnectionError, err
rs = self._resultSetClass(self, cursor=cursor,
masterRecordSet=masterRecordSet)
- rs._recordCount = cursor.rowcount
if readOnly:
rs._readonly = readOnly
return rs
Index: gnue/gnuef/src/GFObjects/GFBlock.py
diff -u gnue/gnuef/src/GFObjects/GFBlock.py:1.14
gnue/gnuef/src/GFObjects/GFBlock.py:1.15
--- gnue/gnuef/src/GFObjects/GFBlock.py:1.14 Sun Sep 16 17:16:24 2001
+++ gnue/gnuef/src/GFObjects/GFBlock.py Tue Sep 18 14:18:46 2001
@@ -139,8 +139,8 @@
if self._resultSet.firstRecord():
self.switchRecord(0)
- self._recordCount = self._resultSet.getCacheCount()
- #self._recordCount = self._resultSet.getRecordCount()
+ #self._recordCount = self._resultSet.getCacheCount()
+ self._recordCount = self._resultSet.getRecordCount()
else:
# TODO: This means no results were returned from a query.
# TODO: It probably shouldn't create a new record :) Display a message?
@@ -166,15 +166,15 @@
#
def newRecord(self):
if self._resultSet.insertRecord():
- self._recordCount = self._resultSet.getCacheCount()
- #self._recordCount = self._resultSet.getRecordCount()
+ #self._recordCount = self._resultSet.getCacheCount()
+ self._recordCount = self._resultSet.getRecordCount()
self.switchRecord(1)
self.processTrigger('on-newrecord')
def nextRecord(self):
if self._resultSet.nextRecord():
- self._recordCount = self._resultSet.getCacheCount()
- #self._recordCount = self._resultSet.getRecordCount()
+ #self._recordCount = self._resultSet.getCacheCount()
+ self._recordCount = self._resultSet.getRecordCount()
self.switchRecord(1)
elif int(GConfig.get('autocreate')) and not
self._resultSet.current.isEmpty():
self.newRecord()
@@ -283,8 +283,8 @@
conditions = {}
self._dataSourceLink.createResultSet(conditions)
- self._recordCount = self._resultSet.getCacheCount()
- #self._recordCount = self._resultSet.getRecordCount()
+ #self._recordCount = self._resultSet.getCacheCount()
+ self._recordCount = self._resultSet.getRecordCount()
self.processTrigger('Post-Query')
- gnue gnue-common/src/GDataObjects.py gnue-commo...,
James Thompson <=