Code: Alles auswählen
def main():
while True:
print "Waiting for Datas"
_tmplist, usr_addr = connection.get_rcv_udpsock().recvfrom(buf)
ql = cPickle.loads(_tmplist) #ql = questionlist
print "!!!",ql,"!!!"
if ql[0] == 'execute':
ql[0] == execute
elif ql[0] == 'login':
ql[0] == login
elif ql[0] == 'logout':
ql[0] == logout
elif ql[0] == 'change_pw':
ql[0] == change_pw
elif ql[0] == 'del_user':
ql[0] == del_user
elif ql[0] == 'add_user':
ql[0] == add_user
elif ql[0] == 'reset':
ql[0] == reset
else:
print "non-dic received!"
raise SystemExit
qlen = len(ql)
if qlen==2:
returned = ql[0](ql[1])
elif qlen == 3:
returned = ql[0](ql[1],ql[2])
elif qlen == 4:
returned = ql[0](ql[1],ql[2],ql[3])
else:
raise SystemExit
print "Executed datas ("+returned+")"
sendpickled(usr_addr, returned)
ich verstehe das nicht...ql[0] ist kein string und ein anderer part wird nicht geprintet! wieso nicht? der part muss doch geprintet werden, bevor die funnction ausgeführt wird.murph@murphs:~/own_project$ ./sqliteserver.py
Waiting for Datas
Traceback (most recent call last):
File "./sqliteserver.py", line 247, in ?
main()
File "./sqliteserver.py", line 238, in main
returned = ql[0](ql[1],ql[2])
TypeError: 'str' object is not callable