[Twisted-Python] Deferred problem
vicky lupien
vlupien at drummonddesigns.com
Thu Nov 6 07:26:00 MST 2003
I know that I'd already post a message about deferred but I think I
haven't understand very well.
I have a function that is suppose to return a new dictionnary but it
returns a deferred.
class MainPage(pages.BasePage):
templateFile = "main.html"
def initialize(self, dbpool=None):
self.dbpool = dbpool
def setUp(self, request, *args):
var = self.initPermissions(request) #var is suppose to get
the new list
print var
def wmfactory_welcome(self, request):
return "Bienvenue, %s" %
request.getComponent(myguard.Authenticated).name
def initPermissions(self, request): #create and return the
results of a sql query
group = request.getComponent(myguard.Authenticated).group
listGroup = group.split(',')
sql = "select permission from permissions where 1"
for item in listGroup:
sql += " or permissions.group='%s'" % item.lstrip()
theDeferred = self.dbpool.runQueryDict(sql)
return theDeferred.addCallback(self.makeDict) # suppose
to call makeDict when the results has arrived
def makeDict(self, results):
# when I print what is in results, I can see all the data
from the sql query
listPermissions = []
for item in results:
listPermissions.append(item.get('permission'))
return listPermissions # return the new list
but the function setUp receive a deferred
I've put some comments in the code to help you understand what I want.
The big problem is that var receive a deferred and not the new list
Vicky
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20031106/b04cf941/attachment.html>
More information about the Twisted-Python
mailing list