[SQL-CVS] r813 - trunk/SQLObject/sqlobject
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: <sub...@co...> - 2005-06-10 12:48:35
|
Author: phd Date: 2005-06-10 12:48:30 +0000 (Fri, 10 Jun 2005) New Revision: 813 Modified: trunk/SQLObject/sqlobject/col.py trunk/SQLObject/sqlobject/dbconnection.py Log: Save the original value in BinaryValidator.fromPython() and return it in toPython(). Modified: trunk/SQLObject/sqlobject/col.py =================================================================== --- trunk/SQLObject/sqlobject/col.py 2005-06-10 10:22:44 UTC (rev 812) +++ trunk/SQLObject/sqlobject/col.py 2005-06-10 12:48:30 UTC (rev 813) @@ -936,12 +936,15 @@ if module.__name__ == "sqlite": value = module.decode(value) return value + if isinstance(value, state.soObject._connection._binaryType): + return self._origValue raise validators.InvalidField("expected a string in the BLOBCol '%s', got %s instead" % \ (self.name, type(value)), value, state) def fromPython(self, value, state): if value is None: return None + self._origValue = value # store the original value return state.soObject._connection.createBinary(value) class SOBLOBCol(SOStringCol): Modified: trunk/SQLObject/sqlobject/dbconnection.py =================================================================== --- trunk/SQLObject/sqlobject/dbconnection.py 2005-06-10 10:22:44 UTC (rev 812) +++ trunk/SQLObject/sqlobject/dbconnection.py 2005-06-10 12:48:30 UTC (rev 813) @@ -209,6 +209,7 @@ self._pool = [] self._poolLock = threading.Lock() DBConnection.__init__(self, **kw) + self._binaryType = type(self.module.Binary('')) def _runWithConnection(self, meth, *args): conn = self.getConnection() |