[Twisted-Python] psycopg2 and dictcursor
Jonathan Vanasco
twisted-python at 2xlp.com
Mon Apr 24 17:30:33 MDT 2006
On Apr 24, 2006, at 5:58 PM, Federico Di Gregorio wrote:
> I really don't know. It works perfectly here. Maybe show us our
> code and
> how the pool is called.
good idea. i'm kind of stressed out today - not thinking very
clearly. i'm probably dealing with a typo that i'm just not seeing.
i was using this w/twisted words, but i just copied the lines to
replicate into the stub basic reactor .
===================
---------
twistedpg.py
---------
from psycopg2 import *
from psycopg2 import _psycopg as _2psycopg
from psycopg2.extensions import connection as _2connection
from psycopg2.extras import DictCursor
del connect
def connect(*args, **kwargs):
kwargs['connection_factory'] = connection
return _2psycopg.connect(*args, **kwargs)
class connection(_2connection):
def cursor(self):
return _2connection.cursor(self, cursor_factory=DictCursor)
===================
---------
test.py
---------
import twistedpg
from twisted.enterprise import adbapi
connection_pool = adbapi.ConnectionPool("twistedpg",
host="localhost",database="aaaa",user="aaaa",password="" )
from twisted.internet.protocol import Factory, Protocol
from twisted.internet import reactor
class tester(Protocol):
def connectionMade(self):
self.transport.write(self.factory.quote+'\r\n')
self.transport.loseConnection()
class SQLfactory(Factory):
protocol = tester
def __init__(self, quote=None):
self.quote = self.db_sample__query().addCallback
(self.print_result)
def db_sample__query( self ):
data = connection_pool.runQuery("SELECT * FROM useraccount",)
return data
def print_result( self , data ):
print data
reactor.listenTCP(8007, SQLfactory("configurable quote"))
reactor.run()
===================
More information about the Twisted-Python
mailing list