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.