diff options
author | Jacek Konieczny <jajcus@jajcus.net> | 2003-06-06 14:15:28 +0400 |
---|---|---|
committer | Jacek Konieczny <jajcus@jajcus.net> | 2003-06-06 14:15:28 +0400 |
commit | cb9a178a7bfcb3f8a2d4738bcb5bb4a43cf5065e (patch) | |
tree | 86f45a6534ca45068e4eea93672880552ef1c2e3 /examples | |
parent | 91bb36727648e0da04c7052fee4eacae9ab6ca49 (diff) |
- new stream handling
Diffstat (limited to 'examples')
-rw-r--r-- | examples/stest.py | 27 | ||||
-rw-r--r--[-rwxr-xr-x] | examples/streamtest.py | 15 |
2 files changed, 27 insertions, 15 deletions
diff --git a/examples/stest.py b/examples/stest.py index b0c2bd1..f1f5e86 100644 --- a/examples/stest.py +++ b/examples/stest.py @@ -14,14 +14,8 @@ accounts={ }; class Stream(ClientStream): - def __init__(self,jid,password=None,server=None,port=5222, - auth_methods=["sasl:DIGEST-MD5","digest"], - enable_tls=0,require_tls=0): - ClientStream.__init__(self,jid,password,server,port,auth_methods, - enable_tls,require_tls) - self.disconnect_time=time.time()+60 - def post_auth(self): + self.disconnect_time=time.time()+60 m=Message(type="chat",to=self.peer, body="You have authenticated with: %r" % (self.auth_method_used)) self.send(m) @@ -29,12 +23,27 @@ class Stream(ClientStream): self.send(m) m=Message(type="chat",to=self.peer,body="Thank you for testing.") self.send(m) + self.set_message_handler('chat',self.echo_message) + self.set_message_handler('normal',self.echo_message) + + def echo_message(self,message): + typ=message.get_type() + body=message.get_body() + if not body: + return + body=u"ECHO: %s" % (body,) + subject=message.get_subject() + if subject: + subject=u"Re: %s" % (subject,) + m=Message(type=typ,to=self.peer,body=body,subject=subject) + self.send(m) def idle(self): ClientStream.idle(self) + if not self.peer_authenticated: + return if time.time()>=self.disconnect_time: - m=Message(type="chat",to=self.peer, - body="Bye." % (self.auth_method_used)) + m=Message(type="chat",to=self.peer,body="Bye.") self.send(m) self.disconnect() diff --git a/examples/streamtest.py b/examples/streamtest.py index e12772d..6209a45 100755..100644 --- a/examples/streamtest.py +++ b/examples/streamtest.py @@ -3,12 +3,15 @@ import sys,os from pyxmpp import xmlextra -h=xmlextra.StreamHandler() -r=xmlextra.StreamReader(h) -print dir(r.reader) -while 1: - r.feed(os.read(sys.stdin.fileno(),100)) +h=xmlextra.StreamHandler() -del r +for i in range(0,3): + r=xmlextra.StreamReader(h) + print dir(r.reader) + try: + while 1: + r.feed(os.read(sys.stdin.fileno(),100)) + except: + print "Interrupted" |