CedarBackup2.cli._ActionItem

Package CedarBackup2 :: Module cli :: Class _ActionItem |
[hide private]
[frames] | no frames]

# Class _ActionItem

source code

    object --+
             |
            _ActionItem

Class representing a single action to be executed.

This class represents a single named action to be executed, and understands how to execute that action.

The built-in actions will use only the options and config values. We also pass in the config path so that extension modules can re-parse configuration if they want to, to add in extra information.

This class is also where pre-action and post-action hooks are executed. An action item is instantiated in terms of optional pre- and post-action hook objects (config.ActionHook), which are then executed at the appropriate time (if set).

Note: The comparison operators for this class have been implemented to only compare based on the index and SORT_ORDER value, and ignore all other values. This is so that the action set list can be easily sorted first by type (_ActionItem before _ManagedActionItem) and then by index within type.

Instance Methods | [hide private]
__init__(self, index, name, preHooks, postHooks, function) Default constructor. | source code
__cmp__(self, other) Definition of equals operator for this class. | source code
executeAction(self, configPath, options, config) Executes the action associated with an item, including hooks. | source code
_executeAction(self, configPath, options, config) Executes the action, specifically the function associated with the action. | source code
_executeHook(self, type, hook) Executes a hook command via util.executeCommand(). | source code
Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__repr__`, `__setattr__`, `__sizeof__`, `__str__`, `__subclasshook__`

Class Variables | [hide private]
| SORT_ORDER = `0` Defines a sort order to order properly between types.

Properties | [hide private]
Inherited from `object`: `__class__`

Method Details | [hide private]

### __init__(self, index, name, preHooks, postHooks, function) (Constructor) | source code
Default constructor. It's OK to pass `None` for `index`, `preHooks` or `postHooks`, but not for `name`. Parameters: `index` - Index of the item (or `None`). `name` - Name of the action that is being executed. `preHooks` - List of pre-action hooks in terms of an `ActionHook` object, or `None`. `postHooks` - List of post-action hooks in terms of an `ActionHook` object, or `None`. `function` - Reference to function associated with item. Overrides: object.__init__

### __cmp__(self, other) (Comparison operator) | source code
Definition of equals operator for this class. The only thing we compare is the item's index. Parameters: `other` - Other object to compare to. Returns: -1/0/1 depending on whether self is `<`, `=` or `>` other.

### executeAction(self, configPath, options, config) | source code
Executes the action associated with an item, including hooks. See class notes for more details on how the action is executed. Parameters: `configPath` - Path to configuration file on disk. `options` - Command-line options to be passed to action. `config` - Parsed configuration to be passed to action. Raises: `Exception` - If there is a problem executing the action.

### _executeAction(self, configPath, options, config) | source code
Executes the action, specifically the function associated with the action. Parameters: `configPath` - Path to configuration file on disk. `options` - Command-line options to be passed to action. `config` - Parsed configuration to be passed to action.

### _executeHook(self, type, hook) | source code
Executes a hook command via util.executeCommand(). Parameters: `type` - String describing the type of hook, for logging. `hook` - Hook, in terms of a `ActionHook` object.