Chapter 3. Writing New Modules

Table of Contents

Introduction
Helper Class Implementation
Error Handling and Logging
Parsing Configuration Options
Handling LDAP Entries

Introduction

Splat Helper Modules are implemented as a Python module containing a single subclass of splat.plugin.Helper. The subclass must implement three methods: attributes, parseOptions, and work.

An instance of the helper class is instantiated for each Service Helper Configuration in the splat.conf configuration file. The parseOptions method is passed a dictionary of key value pairs, as derived from any helper-specific Option configuration directives. Individual Group directives may supply group-specific options.

The parseOptions method is expected to return an opaque context for a given set of options. Later invocations of the work method will be passed a reference to this opaque context, an LDAP Entry instance, and a boolean value indicating whether the LDAP entry has been modified since the last time the helper has run successfully. The attributes method should just return a tuple of the LDAP attributes needed by a plugin.