Program Setup

As Python is an interpreted language, configuration of an application can be carried out by editing the actual scripts. In some circumstances however, it is still easier or more practical to rely upon a config- uration database or environment variables. When using OSE this is especially the case, as an applica- tion can be a mix of C++ and Python code and configuration data may need to be accessible from code written in both languages.

To support this the Python wrappers provide an interface to the configuration database of the OSE C++ class library. The corresponding class in the OSE C++ class library which provides this functionality is the OTC_Program class. Not all functionality of this class is mirrored in the Python interface as Python has its own way of doing most of what is provided by this class. Access is however provided to aspects of the configuration database and environment variable database. The functionality for gen- erating unique identifiers is also exposed.

Configuration Database

The configuration database is an in memory database. The database may be populated by calls from within the application, or by loading in a configuration file. The configuration database may also be saved to a file. In essence, the configuration database is not much more than a dictionary mapping names to values.

To initially load the configuration database from a file, the "loadConfig()" function is used. A sin- gle configuration item may be explicitly merged into the configuration database using the "mergeConfig()" function. A query can subsequently be made against the configuration database using the "lookupConfig()" function. If no match is found in the configuration database for the item in question, the value None is returned.

19

Page 19
Image 19
Python 7.0pl5, Python Manual manual Program Setup, Configuration Database