Custom Burner - Developer README

This README is intended for developers. It contains information about the internal working of Custom Burner and its packaging guidelines.

If you're willing to work on Custom Burner, please read this file carefully. If you think something's wrong or you have any comments, please feel free to contact the author.

Getting the latest snapshot

The developer release is available only through Subversion. Instructions to check it out are here.

Coding style

DISCLAIMER: The author is no Python hacker, therefore you might find these indications a bit weird. Feel free to discuss them with him!

Data persistency

Custom Burner Server uses the cPickle Python module to serialize some of its internal data structures, and saves them into a file.

The only classes that need their state saved are BurnerManager and Burner, both located in the directory src/server.

User interface

Custom burner is being designed to be quite modular. The class that deals with the user, either showing messages or requesting input, is UserInterface, inside the file src/server/user_interface.py.

By rewriting that class, it should be possible to write new interfaces for Custom Burner, e.g. graphical ones, without need to rewrite the internal code, but just substituting one class.

Currently only one very simple textual interface is present.

Network protocol

The server and client modules communicate through a TCP connection. The protocol, all in clear text, is quite simple; you should be able to understand it by looking at the code. If you would like a description of it, anyway, just contact the author.

Packaging

Custom Burner should be distributed in gzipped tar archives, that contain all the files needed to run the program. To build a .tar.gz archive with the latest version of Custom Burner, you should use the setup.py script. The command:

$ ./setup.py sdist

creates the file dist/custom-burner-version.tar.gz containing the source distribution.

Contact information

You can contact me for any request or information:

Arrigo Marchiori
ardovm at yahoo dot it
http://rigo.altervista.org

This project's homepage is at http://custom-burner.sourceforge.net


Project Web Hosted by SourceForge.net

Valid XHTML 1.0! Valid CSS!