The cvsmsg Script
Let’s now have a look at the script, called cvsmsg. It has to send a notification message, which it receives on STDIN, to a JID, which it receives as an argument passed to the script, as shown in Example 8-3.
import jabber
import sys
Server = 'gnu.pipetree.com'
Username = 'cvsmsg'
Password = 'secret'
Resource = 'cvsmsg'
cvsuser = sys.argv[1]
message = ''
for line in sys.stdin.readlines(): message = message + line
con = jabber.Client(host=Server)
try:
con.connect()
except IOError, e:
print "Couldn't connect: %s" % e
sys.exit(0)
con.auth(Username,Password,Resource)
con.send(jabber.Message(cvsuser, message, subject="CVS Watch Alarm"))
con.disconnect()
It’s not that long but worth breaking down to examine piece by piece.
We’re going to use the Jabberpy Python library
for Jabber, so the first thing we do in the script is import it.
We also import the sys module for reading from STDIN:
import jabber import sys
As the usage of the script will be fairly static, we can get away here with hardcoding a few parameters:
Server = 'gnu.pipetree.com' Username = 'cvsmsg' Password = 'secret' Resource = 'cvsmsg'
Specified here are the connection and authentication details for the
cvsmsg script itself. If it’s to send a message via
Jabber, it must itself connect to Jabber. The Server
variable specifies which Jabber server to connect to, and the
Username, Password, and
Resource variables contain the rest of the information for the script’s ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access