summaryrefslogtreecommitdiff
path: root/src/xmpppy-0.5.0rc1/doc/examples/README.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmpppy-0.5.0rc1/doc/examples/README.py')
-rwxr-xr-xsrc/xmpppy-0.5.0rc1/doc/examples/README.py71
1 files changed, 71 insertions, 0 deletions
diff --git a/src/xmpppy-0.5.0rc1/doc/examples/README.py b/src/xmpppy-0.5.0rc1/doc/examples/README.py
new file mode 100755
index 00000000..ae01dc62
--- /dev/null
+++ b/src/xmpppy-0.5.0rc1/doc/examples/README.py
@@ -0,0 +1,71 @@
+#!/usr/bin/python
+# -*- coding: koi8-r -*-
+from xmpp import *
+
+def presenceHandler(conn,presence_node):
+ """ Handler for playing a sound when particular contact became online """
+ targetJID='node@domain.org'
+ if presence_node.getFrom().bareMatch(targetJID):
+ # play a sound
+ pass
+def iqHandler(conn,iq_node):
+ """ Handler for processing some "get" query from custom namespace"""
+ reply=iq_node.buildReply('result')
+ # ... put some content into reply node
+ conn.send(reply)
+ raise NodeProcessed # This stanza is fully processed
+def messageHandler(conn,mess_node): pass
+
+if 1:
+ """
+ Example 1:
+ Connecting to specified IP address.
+ Connecting to port 5223 - TLS is pre-started.
+ Using direct connect.
+ """
+ # Born a client
+ cl=Client('ejabberd.somedomain.org')
+ # ...connect it to SSL port directly
+ if not cl.connect(server=('1.2.3.4',5223)):
+ raise IOError('Can not connect to server.')
+else:
+ """
+ Example 2:
+ Connecting to server via proxy.
+ Assuming that servername resolves to jabber server IP.
+ TLS will be started automatically if available.
+ """
+ # Born a client
+ cl=Client('jabberd2.somedomain.org')
+ # ...connect via proxy
+ if not cl.connect(proxy={'host':'someproxy.somedomain.org','port':'8080','user':'proxyuser','password':'proxyuserpassword'}):
+ raise IOError('Can not connect to server.')
+# ...authorize client
+if not cl.auth('jabberuser','jabberuserpassword','optional resource name'):
+ raise IOError('Can not auth with server.')
+# ...register some handlers (if you will register them before auth they will be thrown away)
+cl.RegisterHandler('presence',presenceHandler)
+cl.RegisterHandler('iq',iqHandler)
+cl.RegisterHandler('message',messageHandler)
+# ...become available
+cl.sendInitPresence()
+# ...work some time
+cl.Process(1)
+# ...if connection is brocken - restore it
+if not cl.isConnected(): cl.reconnectAndReauth()
+# ...send an ASCII message
+cl.send(Message('test@jabber.org','Test message'))
+# ...send a national message
+cl.send(Message('test@jabber.org',unicode('Проверка связи','koi8-r')))
+# ...send another national message
+simplexml.ENCODING='koi8-r'
+cl.send(Message('test@jabber.org','Проверка связи 2'))
+# ...work some more time - collect replies
+cl.Process(1)
+# ...and then disconnect.
+cl.disconnect()
+
+"""
+If you have used jabberpy before you will find xmpppy very similar.
+See the docs for more info about library features.
+"""