Twisted: Appel méthode dataReceived de la classe mère
Bonjour,
J'utilise le framework twisted.
Je cherche à surcharger un serveur TELNET lors de la réception de données.
Lors de la réception de donnée, je souhaite effectuer le même traitement que la classe mère puis un traitement spécifique.
Mon souci est que je n'arrive pas a appeler la méthode de la classe mère (j'ai fait plusieurs test):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| from twisted.internet import reactor
from twisted.conch.telnet import Telnet
...
class TelnetServer (Telnet):
"""
partie server """
def connectionMade (self):
global myClient
print "server connection made"
myServer = self
...
def dataReceived(self, data):
"As soon as any data is received, write it back."
print "dataReceived: vous avez envoye :", data
## appel de la methode mere dataReceived
print super(Telnet,self)
#Telnet.dataReceived(data)
#print super(type(Telnet), TelnetServer).__class__
#super(type(Telnet), TelnetServer).dataReceived(data)
## traitement "qui va bien" |
Citation:
File "/usr/local/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 220, in _dataReceived
rval = self.protocol.dataReceived(data)
File "simpleproxytelnet.py", line 45, in dataReceived
print super(Telnet,self)
exceptions.TypeError: must be type, not classobj
Avec
Citation:
Telnet.dataReceived(data) j'obtiens:
Telnet.dataReceived(data)
exceptions.TypeError: unbound method dataReceived() must be called with Telnet instance as first argument (got str instance instead)
Avec
Citation:
Telnet.dataReceived(data) j'obtiens:
File "simpleproxytelnet.py", line 48, in dataReceived
super(type(Telnet), TelnetServer).dataReceived(data)
exceptions.AttributeError: 'super' object has no attribute 'dataReceived'
Comment appeler twisted.conch.telnet.Telnet.dataReceived ?
Je viens du monde JAVA ou la méthode super permet ce genre de choses, mais là je sèche.
Merci par avance,
eric llusca.