[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/common/src/dbdrivers/dbf DBdriver.py
From: |
Jan Ischebeck |
Subject: |
gnue/common/src/dbdrivers/dbf DBdriver.py |
Date: |
Sun, 01 Dec 2002 06:27:30 -0500 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Jan Ischebeck <address@hidden> 02/12/01 06:27:30
Modified files:
common/src/dbdrivers/dbf: DBdriver.py
Log message:
fix bugs in introspection support of DBF dbdriver
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/dbdrivers/dbf/DBdriver.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
Patches:
Index: gnue/common/src/dbdrivers/dbf/DBdriver.py
diff -c gnue/common/src/dbdrivers/dbf/DBdriver.py:1.2
gnue/common/src/dbdrivers/dbf/DBdriver.py:1.3
*** gnue/common/src/dbdrivers/dbf/DBdriver.py:1.2 Sat Nov 30 19:00:59 2002
--- gnue/common/src/dbdrivers/dbf/DBdriver.py Sun Dec 1 06:27:29 2002
***************
*** 55,64 ****
def connect(self, connectData={}):
try:
GDebug.printMesg(3,'Open file: %s' %
(connectData['directory']+connectData['dbname']))
! self._db = dbf.dbf(connectData['directory']+connectData['dbname'])
! self._dbname = connectData['dbname']
! if self._dbname[-4:]=='.dbf':
! self._dbname=self._dbname[:-4]
except IOError:
raise self._DatabaseError,'DBF file not found.'
except TypeError:
--- 55,62 ----
def connect(self, connectData={}):
try:
GDebug.printMesg(3,'Open file: %s' %
(connectData['directory']+connectData['dbname']))
! self._dataConnection = dbf.dbf(connectData['directory']+\
! connectData['dbname'])
except IOError:
raise self._DatabaseError,'DBF file not found.'
except TypeError:
***************
*** 66,73 ****
# build field list
self._fieldReferences=[]
! for f in self._db.fields:
! self._fieldReferences.append(f[0])
self._postConnect()
--- 64,71 ----
# build field list
self._fieldReferences=[]
! for f in self._dataConnection.fields:
! self._fieldReferences.append(string.lower(f[0]))
self._postConnect()
***************
*** 81,97 ****
# Return a list of Schema objects
def getSchemaList(self, type=None):
!
! list = [GDataObjects.Schema(attrs={'id':self._dbname,\
! 'name':self._dbname, \
! 'type':1},\
! getChildSchema=self.__getFieldSchema)]
return list
# Find a schema object with specified name
def getSchemaByName(self, name, type=None):
! if name==self._dbname:
return self.getSchemaList()
else:
return None
--- 79,102 ----
# Return a list of Schema objects
def getSchemaList(self, type=None):
! tablename=self._dataConnection.fname
! if tablename[-4:]=='.dbf':
! tablename=tablename[:-4]
!
! list = [Schema(attrs={'id':tablename,\
! 'name':tablename, \
! 'type':1},\
! getChildSchema=self.__getFieldSchema)]
return list
# Find a schema object with specified name
def getSchemaByName(self, name, type=None):
! tablename=self._dataConnection.fname
! if tablename[-4:]=='.dbf':
! tablename=tablename[:-4]
!
! if name==tablename:
return self.getSchemaList()
else:
return None
***************
*** 100,114 ****
def __getFieldSchema(self, parent):
list = []
! for f in self._db.fields:
!
!
! attrs={'id': "%s.%s" % (parent.id, f[0]), 'name': f[0],
'type':'field', 'nativetype': field[1],
'required': 0}
if field[1] == 'C':
attrs['datatype']='text'
! attrs['length']=field[2]
elif field[1] == 'N':
attrs['datatype']='number'
elif field[1] == 'D':
--- 105,120 ----
def __getFieldSchema(self, parent):
list = []
! for field in self._dataConnection.fields:
!
! fname=string.lower(field[0])
!
! attrs={'id': "%s.%s" % (parent.id,fname), 'name': fname,
'type':'field', 'nativetype': field[1],
'required': 0}
if field[1] == 'C':
attrs['datatype']='text'
! attrs['length']='%s' % field[2]
elif field[1] == 'N':
attrs['datatype']='number'
elif field[1] == 'D':
***************
*** 118,124 ****
else:
GDebug.printMesg(1,'WARNING: dbf native type error: %s' % field[1])
! list.append(GDataObjects.Schema(attrs=attrs))
return list
--- 124,130 ----
else:
GDebug.printMesg(1,'WARNING: dbf native type error: %s' % field[1])
! list.append(Schema(attrs=attrs))
return list
***************
*** 155,165 ****
return 0
# Load static data
! for row in self._dataObject._db:
dict = {}
c=0
! for f in self._dataObject._db.fields:
! dict[f[0]] = row[c]
c+=1
record=self._recordSetClass(parent=self,initialData=dict)
--- 161,171 ----
return 0
# Load static data
! for row in self._dataObject._dataConnection:
dict = {}
c=0
! for f in self._dataObject._dataConnection.fields:
! dict[string.lower(f[0])] = row[c]
c+=1
record=self._recordSetClass(parent=self,initialData=dict)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/common/src/dbdrivers/dbf DBdriver.py,
Jan Ischebeck <=