On Fri, Sep 13, 2013 at 11:40:09AM -0300, Francisco Chiotta
<franchio...@gmail.com> wrote:
> It would be great. Sure, I can test the results.
The patch is attached. The code and error string are available:
try:
do_something()
except OperationalError, e:
print e.args[0].code
print e.args[0].error
Doesn't work for me, though -- pgcode/pgerror are always None.
Perhaps I'm using old version of psycopg2 -- 2.4.5.
Oleg.
--
Oleg Broytman http://phdru.name/ p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
Index: sqlobject/postgres/pgconnection.py
===================================================================
--- sqlobject/postgres/pgconnection.py (revision 4658)
+++ sqlobject/postgres/pgconnection.py (working copy)
@@ -6,9 +6,12 @@
from sqlobject.dberrors import *
class ErrorMessage(str):
- def __new__(cls, e):
- obj = str.__new__(cls, e[0])
+ def __new__(cls, e, append_msg=''):
+ obj = str.__new__(cls, e[0] + append_msg)
obj.code = None
+ if e.__module__ == 'psycopg2':
+ obj.code = getattr(e, 'pgcode', None)
+ obj.error = getattr(e, 'pgerror', None)
obj.module = e.__module__
obj.exception = e.__class__.__name__
return obj
@@ -139,7 +142,7 @@
else:
conn = self.module.connect(**self.dsn_dict)
except self.module.OperationalError, e:
- raise OperationalError("%s; used connection string %r" % (e, self.dsn))
+ raise OperationalError(ErrorMessage(e, "used connection string %r" % self.dsn))
# For printDebug in _executeRetry
self._connectionNumbers[id(conn)] = self._connectionCount
------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/22/13.
http://pubads.g.doubleclick.net/gampad/clk?id=64545871&iu=/4140/ostg.clktrk
_______________________________________________
sqlobject-discuss mailing list
sqlobject-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss