Table of Contents

Module: extension qm/extension.py
Functions   
get_class_arguments
get_class_arguments_as_dictionary
get_class_description
get_extension_class_name
make_dom_document
make_dom_element
parse_descriptor
parse_dom_element
read_extension_file
validate_arguments
write_extension_file
  get_class_arguments 
get_class_arguments ( extension_class )

Return the arguments associated with extension_class.

extension_class
A class derived from Extension.
returns
A list of Field objects containing all of the arguments in the class hierarchy.
Exceptions   
qm.common.QMException, qm.error( "ext arg name matches class var", class_name = extension_class.__name__, argument_name = name )
  get_class_arguments_as_dictionary 
get_class_arguments_as_dictionary ( extension_class )

Return the arguments associated with extension_class.

extension_class
A class derived from Extension.
returns
A dictionary mapping argument names to Field objects. The dictionary contains all of the arguments in the class hierarchy.
  get_class_description 
get_class_description ( extension_class,  brief=0 )

Return a brief description of the extension class extension_class.

extension_class
A class derived from Extension.
brief
If true, return a brief (one-line) description of the extension class.
returns
A structured text description of extension_class.
  get_extension_class_name 
get_extension_class_name ( extension_class )

Return the name of extension_class.

extension_class
A class derived from Extension.
returns
The name of extension_class. This is the name that is used when users refer to the class.
  make_dom_document 
make_dom_document ( extension_class,  arguments )

Create a DOM document for an instance of extension_class.

extension_class
A class derived from Extension.
arguments
The arguments to the extension class.
returns
A new DOM document corresponding to an instance of the extension class.
  make_dom_element 
make_dom_element (
        extension_class,
        arguments,
        document,
        element=None,
        )

Create a DOM node for an instance of extension_class.

extension_class
A class derived from Extension.
arguments
The arguments to the extension class.
document
The DOM document that will contain the new element.
element
If not None the extension element to which items will be added. Otherwise, a new element will be created by this function.
returns
A new DOM element corresponding to an instance of the extension class. The caller is responsible for attaching it to the document.
  parse_descriptor 
parse_descriptor ( descriptor,  class_loader )

Parse a descriptor representing an instance of Extension.

descriptor
A string representing an instance of Extension. The descriptor has the form class(arg1 = "val1", arg2 = "val2", ...). The arguments and the parentheses are optional.

If class names a file in the file system, it is assumed to be an extension file. Any attributes provided in the descriptor override those in the file.

class_loader
A callable. The callable will be passed the name of the extension class and must return the actual class object.
returns
A pair (extension_class, arguments) containing the extension class (a class derived from Extension) and the arguments (a dictionary mapping names to values) stored in the element. The arguments will have already been processed by validate_arguments by the time they are returned.
Exceptions   
qm.QMException, qm.error("invalid descriptor syntax", start = arguments_string [ tok [ 2 ] [ 1 ] : ] )
  parse_dom_element 
parse_dom_element (
        element,
        class_loader,
        attachment_store=None,
        )

Parse a DOM node representing an instance of Extension.

element
A DOM node, of the format created by make_dom_element.
class_loader
A callable. The callable will be passed the name of the extension class and must return the actual class object.
attachment_store
The AttachmentStore in which attachments can be found.
returns
A pair (extension_class, arguments) containing the extension class (a class derived from Extension) and the arguments (a dictionary mapping names to values) stored in the element.
  read_extension_file 
read_extension_file (
        file,
        class_loader,
        attachment_store=None,
        )

Parse a file describing an extension instance.

file
A file-like object from which the extension instance will be read.
class_loader
A callable. The callable will be passed the name of the extension class and must return the actual class object.
attachment_store
The AttachmentStore in which attachments can be found.
returns
A pair (extension_class, arguments) containing the extension class (a class derived from Extension) and the arguments (a dictionary mapping names to values) stored in the element.
  validate_arguments 
validate_arguments ( extension_class,  arguments )

Validate the arguments to the extension_class.

extension_class
A class derived from Extension.
arguments
A dictionary mapping argument names (strings) to values (strings).
returns
A dictionary mapping 'Field's to values.

Check that each of the arguments is a valid argument to extension_class. If so, the argumets are converted as required by the Field, and the dictionary returned contains the converted values. Otherwise, an exception is raised.

Exceptions   
qm.QMException, qm.error("unexpected extension argument", name = name, class_name = get_extension_class_name( extension_class ) )
qm.QMException, qm.error("value provided for computed field", name = name, class_name = get_extension_class_name( extension_class ) )
  write_extension_file 
write_extension_file (
        extension_class,
        arguments,
        file,
        )

Write an XML description of an extension to file.

extension_class
A class derived from Extension.
arguments
A dictionary mapping argument names to values.
file
A file object to which the data should be written.
Classes   

Extension

A class derived from Extension is a QM extension.


Table of Contents

This document was automatically generated on Mon Jan 3 09:42:29 2005 by HappyDoc version 2.1