---
title: PubSub Library Diagram
---
Here's a diagram showing how the library is working at the moment (embedding doesn't work properly in Blogger since it is HTML rather than XHTML :( )
As you can see, the application doesn't need to bother doing much. It creates a PubSubClient object like so:
self.client = pubsubclient.PubSubClient("warbo@jabber.org", "I'mnotgivingoutmypassword")
Then connects to the server:
self.client.connect()
Now it can run any methods it likes, for example:
self.client.subscribe_to_node('blogger.com', 'seriously-this-is-not-worth-reading')
This way, however, the program will not receive any notification when a reply comes back. To handle a reply, a function must be passed to the method. For example:
def subscription_replied(self):
self.replied = True
self.client.subscribe_to_node('blogger.com', 'seriously-this-is-not-worth-reading', subscription_replied)
At the moment the callback method doesn't have any arguments (the 'self' argument is special in Python and isn't given when the method is run). This might change, but I would prefer to do it in a generic way which I can't think how to do at the moment. To send data from the library to the application there is an XML tree called server_properties in the PubSubClient class, but I would like to make some getter and setter methods when the core functionality is done.