This part is an in-depth exploration of what you can do with a Python application on Windows. “Advanced” refers to the capabilities Python gives to your programs, not to the level of programming difficulty. Although the focus is on COM, it brings many features of the language together. In some cases, we use features not fully explained until later chapters; we want to make you say “Wow, so you can do that,” rather than “Wow, so that 's how you do it”: we save that revelation for the last section. The project is to develop an extensible accounting toolkit in Python. Part II, like Part I, is intended to be read straight through.
This chapter explains the business requirements of our application and develops a Python class library that encapsulates the basic rules followed by accounting systems. For people new to Python, this provides a more in-depth set of examples of object-oriented programming with Python.
Here we show how to build a COM server that exposes our Python “engine” to other applications, building a fairly standard user interface in Visual Basic on top of our application. In the process, we cover how to move data of all types back and forth between Python and other languages using COM.
Next we show how to expose the Python interpreter to end users. Our application allows users to work with a command prompt, write scripts, and even define new event handlers and graphical views, thereby making the application extensible. Python makes this capability, normally found only in large commercial applications, child’s play.
This chapter shows the other side of the coin: using Python as a COM object to acquire data from and send data to Excel.
Here we cover a range of techniques for printing and for producing reports in general, including direct printer control, automating Microsoft Word, and direct generation of financial reports in PDF format.
Finally, we show how COM makes it extremely easy to run the Python engine on one machine and the client interface on another.