dabo Commit 5510

View: New views
1 Messages — Rating Filter:   Alert me  

dabo Commit 5510

by Paul McNett :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

dabo Commit
Revision 5510
Date: 2009-10-29 11:26:01 -0700 (Thu, 29 Oct 2009)
Author: Paul
Trac: http://trac.dabodev.com/changeset/5510

Changed:
U   trunk/dabo/db/dBackend.py
U   trunk/dabo/db/dCursorMixin.py
U   trunk/dabo/db/dbSQLite.py

Log:
This contains my patch for attempting to get BLOB updating and inserting working.
It contains some fixes from my posted patch, but still doesn't get BLOB support
working.


Diff:
Modified: trunk/dabo/db/dBackend.py
===================================================================
--- trunk/dabo/db/dBackend.py 2009-10-29 17:54:51 UTC (rev 5509)
+++ trunk/dabo/db/dBackend.py 2009-10-29 18:26:01 UTC (rev 5510)
@@ -72,7 +72,7 @@
  return cursorClass(self._connection)
 
 
- def formatForQuery(self, val):
+ def formatForQuery(self, val, fieldType=None):
  if isinstance(val, (datetime.date, datetime.datetime)):
  # Some databases have specific rules for formatting date values.
  return self.formatDateTime(val)
@@ -82,6 +82,8 @@
  return str(val)
  elif isinstance(val, dNoEscQuoteStr):
  return val
+ elif fieldType == "L":
+ return val
  elif val is None:
  return self.formatNone()
  else:

Modified: trunk/dabo/db/dCursorMixin.py
===================================================================
--- trunk/dabo/db/dCursorMixin.py 2009-10-29 17:54:51 UTC (rev 5509)
+++ trunk/dabo/db/dCursorMixin.py 2009-10-29 18:26:01 UTC (rev 5510)
@@ -1355,7 +1355,8 @@
  # Append the field and its value.
  flds += ", " + self.BackendObject.encloseNames(kk, aq)
  # add value to expression
- vals += ", %s" % (self.formatForQuery(vv[1]),)
+ fieldType = [ds[1] for ds in self.DataStructure if ds[0] == kk][0]
+ vals += ", %s" % (self.formatForQuery(vv[1], fieldType))
 
  # Trim leading comma-space from the strings
  flds = flds[2:]
@@ -1945,7 +1946,8 @@
  continue
  if ret:
  ret += ", "
- ret += tblPrefix + bo.encloseNames(fld, aq) + " = " + self.formatForQuery(new_val)
+ fieldType = [ds[1] for ds in self.DataStructure if ds[0] == fld][0]
+ ret += tblPrefix + bo.encloseNames(fld, aq) + " = " + self.formatForQuery(new_val, fieldType)
  return ret
 
 
@@ -2010,11 +2012,11 @@
  return ret
 
 
- def formatForQuery(self, val):
+ def formatForQuery(self, val, fieldType=None):
  """ Format any value for the backend """
  ret = val
  if self.BackendObject:
- ret = self.BackendObject.formatForQuery(val)
+ ret = self.BackendObject.formatForQuery(val, fieldType)
  return ret
 
 

Modified: trunk/dabo/db/dbSQLite.py
===================================================================
--- trunk/dabo/db/dbSQLite.py 2009-10-29 17:54:51 UTC (rev 5509)
+++ trunk/dabo/db/dbSQLite.py 2009-10-29 18:26:01 UTC (rev 5510)
@@ -75,11 +75,11 @@
  return self._dictCursorClass
 
 
- def formatForQuery(self, val):
+ def formatForQuery(self, val, fieldType=None):
  if isinstance(val, bool):
  return str(int(val))
  else:
- return super(SQLite, self).formatForQuery(val)
+ return super(SQLite, self).formatForQuery(val, fieldType)
 
 
  def escQuote(self, val):




_______________________________________________
Post Messages to: Dabo-dev@...
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message: http://leafe.com/archives/byMID/20091029182602.E4F50318ACB@...