DOPAL snake and frog logo DOPAL logo Python and Azureus!
There are a few different ways of using DOPAL...

Interactive mode

By running dopal/interact.py , you can just quickly link to an Azureus server and interact with it - future releases will provide more utilities.

See the examples section to see how to use it. To invoke it, type the following into a Python prompt or into a script - one can be found here (though I couldn't think of a good name for it...)
>>> import dopal.interact
>>> dopal.interact.main()

Simple integration

In the dopal.main module, there are methods which are nice front-ends to creating a connection - hiding the complexities of configuring a connection.
>>> import dopal.main
>>> connection = dopal.main.make_connection(host="192.168.0.2", user="ichimaru", password="shinsou")
>>> print connection
AzureusObjectConnection for 192.168.0.2 [Azureus 2.3.0.7_B21]
>>> interface = connection.getPluginInterface()
>>> downloads = interface.getDownloadManager().getDownloads()
>>> print downloads[0]
Download: [Lunar] Bleach - 62 [F993BF7F].avi [Stopped, 0.0%]

Advanced integration

This means using the important classes and extending and expanding what they can do. The library was written in a way which was intended that you could use as much of the existing functionality as you like without having to deal with the parts which aren't desired.

For example, although DOPAL provides representation of remote objects, with a lot of specialised behaviour (defining remote constants on the class, automatically defining remote methods on the class, adding specialised remote attribute handling), these can all be turned off individually. In fact, you don't have to use the remote object representation classes if you don't want to - you can just use a connection object to interact with.

At some point, I'll go into more detail about how it all fits together.