commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

r6213 - trunk/gnue-common/src/datasources/drivers/dbf/dbf


From: johannes
Subject: r6213 - trunk/gnue-common/src/datasources/drivers/dbf/dbf
Date: Thu, 26 Aug 2004 08:14:21 -0500 (CDT)

Author: johannes
Date: 2004-08-26 08:14:20 -0500 (Thu, 26 Aug 2004)
New Revision: 6213

Modified:
   trunk/gnue-common/src/datasources/drivers/dbf/dbf/Connection.py
   trunk/gnue-common/src/datasources/drivers/dbf/dbf/DataObject.py
   trunk/gnue-common/src/datasources/drivers/dbf/dbf/Info.py
   trunk/gnue-common/src/datasources/drivers/dbf/dbf/RecordSet.py
Log:
patched a really broken dbf-driver so the most basic things work; no 
introspection, no conditions just data ... :)


Modified: trunk/gnue-common/src/datasources/drivers/dbf/dbf/Connection.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/dbf/dbf/Connection.py     
2004-08-26 11:45:53 UTC (rev 6212)
+++ trunk/gnue-common/src/datasources/drivers/dbf/dbf/Connection.py     
2004-08-26 13:14:20 UTC (rev 6213)
@@ -35,27 +35,33 @@
 #### ATTRIBUTES, PLEASE UPDATE info.py ####
 ####                                   ####
 
+import os.path
+import string
+
+from gnue.common.datasources.drivers import Base
+from DataObject import DBF_DataObject
 from gnue.common.datasources.GDataObjects import Error
-from gnue.common.datasources.drivers import Base
-from gnue.common.datasources import GConnections
+#from gnue.common.datasources import GConnections
 
 try:
   import dbf
 except ImportError:
   raise GConnections.DependencyError, ('dbf', None)
 
-class Connection(Base.Connection):
-  supportedDataObjects = {'object': DataObject,
-                           'static': DataObject} # TODO: Why static?!?
+class Connection (Base.Connection):
+  supportedDataObjects = {'object': DBF_DataObject,
+                           'static': DBF_DataObject} # TODO: Why static?!?
   _DatabaseError = Error
 
 
   # We don't do connections (we are connectionless)
-  def connect(self, connectData={}):
+  def connect (self, connectData = {}):
     try:
-      GDebug.printMesg(3,'Open file: %s' % 
(connectData['directory']+connectData['dbname']))
-      self._dataConnection = dbf.dbf(connectData['directory']+\
-                                     connectData['dbname'])
+      filename = os.path.join (connectData ['directory'],
+                               connectData ['dbname'])
+      gDebug (3,'Open file: %s' % filename)
+      self.native = dbf.dbf (filename)
+
     except IOError:
       tmsg = _('DBF file not found.')
       raise self._DatabaseError, tmsg
@@ -64,7 +70,10 @@
       raise self._DatabaseError, tmsg
 
     # build field list
-    self._fieldReferences=[]
-    for f in self._dataConnection.fields:
+    self._fieldReferences = []
+    for f in self.native.fields:
       self._fieldReferences.append(string.lower(f[0]))
 
+
+  def getLoginFields (self):
+    return []

Modified: trunk/gnue-common/src/datasources/drivers/dbf/dbf/DataObject.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/dbf/dbf/DataObject.py     
2004-08-26 11:45:53 UTC (rev 6212)
+++ trunk/gnue-common/src/datasources/drivers/dbf/dbf/DataObject.py     
2004-08-26 13:14:20 UTC (rev 6213)
@@ -33,7 +33,7 @@
 from gnue.common.apps import GDebug
 import string
 from gnue.common.datasources.GDataObjects import *
-from gnue.common.drivers.special.static.Driver import *
+from gnue.common.datasources.drivers.special.static import *
 import dbf
 
 
@@ -42,11 +42,10 @@
 # This is an static data driver for connectionless clients
 #
 ###########################################################
-class DataObject (StaticDataObject): 
+class DBF_DataObject (DataObject.STATIC_DataObject):
 
-  def __init__(self):
-    DataObject.__init__(self)
-    self.triggerExtensions = TriggerExtensions(self)
+  def __init__(self, connection):
+    DataObject.STATIC_DataObject.__init__(self, connection)
     self._DatabaseError = Error
   
   def _createResultSet(self, conditions={}, readOnly=0, masterRecordSet=None, 
sql=""):
@@ -69,13 +68,13 @@
 #
 #
 ###########################################################
-class DBF_ResultSet(STATIC_ResultSet):
+class DBF_ResultSet(ResultSet.STATIC_ResultSet):
 
   def __init__(self, dataObject, cursor=None, defaultValues={}, 
masterRecordSet=None):
-    ResultSet.__init__(self, dataObject, \
+    ResultSet.STATIC_ResultSet.__init__(self, dataObject, \
             cursor, defaultValues, masterRecordSet)
 
-    self._recordSetClass = STATIC_RecordSet
+    self._recordSetClass = RecordSet.STATIC_RecordSet
 
   # Returns 1=DataObject has uncommitted changes
   def isPending(self):

Modified: trunk/gnue-common/src/datasources/drivers/dbf/dbf/Info.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/dbf/dbf/Info.py   2004-08-26 
11:45:53 UTC (rev 6212)
+++ trunk/gnue-common/src/datasources/drivers/dbf/dbf/Info.py   2004-08-26 
13:14:20 UTC (rev 6213)
@@ -45,6 +45,7 @@
 
 Connection Properties
 ---------------------
+* provider   -- The name of the provider, which is dbf (of course)
 * directory  -- The directory where the DBF files are stored (required)
 * dbname     -- The name of the database to use (required)
 

Modified: trunk/gnue-common/src/datasources/drivers/dbf/dbf/RecordSet.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/dbf/dbf/RecordSet.py      
2004-08-26 11:45:53 UTC (rev 6212)
+++ trunk/gnue-common/src/datasources/drivers/dbf/dbf/RecordSet.py      
2004-08-26 13:14:20 UTC (rev 6213)
@@ -33,7 +33,7 @@
 from gnue.common.apps import GDebug
 import string
 from gnue.common.datasources.GDataObjects import *
-from gnue.common.drivers.special.static.Driver import *
+from gnue.common.datasources.drivers.special.static import *
 import dbf
 
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]