From 5eeebb36bfe73dcf17dc8b72bd190c266e25c45e Mon Sep 17 00:00:00 2001 From: "louiz@4325f9fc-e183-4c21-96ce-0ab188b42d13" Date: Tue, 20 Jul 2010 00:10:39 +0000 Subject: remove xmpppy from the repos --- src/xmpppy-0.5.0rc1/doc/basic.html | 111 ------------------------------------- 1 file changed, 111 deletions(-) delete mode 100644 src/xmpppy-0.5.0rc1/doc/basic.html (limited to 'src/xmpppy-0.5.0rc1/doc/basic.html') diff --git a/src/xmpppy-0.5.0rc1/doc/basic.html b/src/xmpppy-0.5.0rc1/doc/basic.html deleted file mode 100644 index 86259d90..00000000 --- a/src/xmpppy-0.5.0rc1/doc/basic.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - Xmpppy usage - basics. - - - -

Preface.

-

English is not my native language. If you see any bugs in this text, please, let me know.

-

Basic

-

Introduction.

-

This documents topic is for people who want to quickly try xmpppy for a simple task, like -writing a command-line script for sending a single message.

-

Writing a simple script

-

This example demonstrates a simple script that sends message to one -recipient. -Example:

-
-xsend test@jabber.org Hello there!
-
-

You don't have a similar tool in your toolkit? Using the xmpppy -library it can be created easily. -
What? Already have one? Hmm. Maybe you want to simplify things a bit, or just curious how -to do it one more way? Anyway - let's start now! -
-First - we declare ourself as a python script and importing needed modules:

-
-#!/usr/bin/python
-import sys,os,xmpp
-
-

After it we have to check if we have enough arguments on the command-line:

-
-if len(sys.argv) < 2:
-    print "Syntax: xsend JID text"
-    sys.exit(0)
-
-

After it we must decode arguments. Omitting all checks to simplify our script:

-
-tojid=sys.argv[1]
-text=' '.join(sys.argv[2:])
-
-

One more non-jabber step: We have to to get our Jabber ID and login -details. Presuming that all info -stored in ~/.xsend file:

-
-jidparams={}
-if os.access(os.environ['HOME']+'/.xsend',os.R_OK):
-    for ln in open(os.environ['HOME']+'/.xsend').readlines():
-        key,val=ln.strip().split('=',1)
-        jidparams[key.lower()]=val
-for mandatory in ['jid','password']:
-    if mandatory not in jidparams.keys():
-        open(os.environ['HOME']+'/.xsend','w').write('#JID=romeo@montague.net\n#PASSWORD=juliet\n')
-        print 'Please ensure the ~/.xsend file has valid JID for sending messages.'
-        sys.exit(0)
-
-

Phew! The most complex (non-jabber ;) ) part is finished. From now on we have to:

- -

Let's start: -
-0. To connect we must have a client instance. Calculating our server name and -creating Client class instance for it:

-
-jid=xmpp.protocol.JID(jidparams['jid'])
-cl=xmpp.Client(jid.getDomain(),debug=[])
-
-

1. Connect and authenticate with credentials from the config file.

-
-cl.connect()
-cl.auth(jid.getNode(),jidparams['password'])
-
-

2. We can go online now (by sending the inital presence) but will not do that, as it is not nessessary for sending a message. -So we send a message now!

-
-#cl.sendInitialPresence()
-cl.send(xmpp.protocol.Message(tojid,text))
-
-

We're done! The session must now be closed but since we have not registered -disconnect handler we will just leave it to python and TCP/IP layer. -All jabber servers that I know handle such -disconnects correctly. -
-You can download this script here.

-

What now?

-

If you were impressed of how the things were done with xmpppy, you may be interested in -more thorough examination of xmpppy library. The "advanced" and "expert" -parts of this document are here to help you. -
-"Advanced" (isn't writed yet) part is much like another tutorial and -describing common principles of XMPP usage via xmpppy prism. It describes ideas that are the foundation of XML handling with the -simplexml library, the essence of dispatcher's work and how messages are processed, and -some guidelines to write more complex programs and uses of the library. -
-"Expert" part is full library API description documentation. -This is epydoc generated output - all info is taken from the xmpppy code so you can re-generate it at any time. -

- - -- cgit v1.2.3