Package CedarBackup3 :: Package extend :: Module capacity :: Class LocalConfig
[hide private]
[frames] | no frames]

Class LocalConfig

source code

object --+
         |
        LocalConfig

Class representing this extension's configuration document.

This is not a general-purpose configuration object like the main Cedar Backup configuration object. Instead, it just knows how to parse and emit specific configuration values to this extension. Third parties who need to read and write configuration related to this extension should access it through the constructor, validate and addConfig methods.


Note: Lists within this class are "unordered" for equality comparisons.

Instance Methods [hide private]
 
__init__(self, xmlData=None, xmlPath=None, validate=True)
Initializes a configuration object.
source code
 
__repr__(self)
Official string representation for class instance.
source code
 
__str__(self)
Informal string representation for class instance.
source code
 
__cmp__(self, other)
Original Python 2 comparison operator.
source code
 
__eq__(self, other)
Equals operator, iplemented in terms of original Python 2 compare operator.
source code
 
__lt__(self, other)
Less-than operator, iplemented in terms of original Python 2 compare operator.
source code
 
__gt__(self, other)
Greater-than operator, iplemented in terms of original Python 2 compare operator.
source code
 
validate(self)
Validates configuration represented by the object.
source code
 
addConfig(self, xmlDom, parentNode)
Adds a <capacity> configuration section as the next child of a parent.
source code
 
_setCapacity(self, value)
Property target used to set the capacity configuration value.
source code
 
_getCapacity(self)
Property target used to get the capacity configuration value.
source code
 
_parseXmlData(self, xmlData)
Internal method to parse an XML string into the object.
source code
 
__ge__(x, y)
x>=y
 
__le__(x, y)
x<=y

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

Static Methods [hide private]
 
_parseCapacity(parentNode)
Parses a capacity configuration section.
source code
 
_readPercentageQuantity(parent, name)
Read a percentage quantity value from an XML document.
source code
 
_addPercentageQuantity(xmlDom, parentNode, nodeName, percentageQuantity)
Adds a text node as the next child of a parent, to contain a percentage quantity.
source code
Properties [hide private]
  capacity
Capacity configuration in terms of a CapacityConfig object.

Inherited from object: __class__

Method Details [hide private]

__init__(self, xmlData=None, xmlPath=None, validate=True)
(Constructor)

source code 

Initializes a configuration object.

If you initialize the object without passing either xmlData or xmlPath then configuration will be empty and will be invalid until it is filled in properly.

No reference to the original XML data or original path is saved off by this class. Once the data has been parsed (successfully or not) this original information is discarded.

Unless the validate argument is False, the LocalConfig.validate method will be called (with its default arguments) against configuration after successfully parsing any passed-in XML. Keep in mind that even if validate is False, it might not be possible to parse the passed-in XML document if lower-level validations fail.

Parameters:
  • xmlData (String data.) - XML data representing configuration.
  • xmlPath (Absolute path to a file on disk.) - Path to an XML file on disk.
  • validate (Boolean true/false.) - Validate the document after parsing it.
Raises:
  • ValueError - If both xmlData and xmlPath are passed-in.
  • ValueError - If the XML data in xmlData or xmlPath cannot be parsed.
  • ValueError - If the parsed configuration document is not valid.
Overrides: object.__init__

Note: It is strongly suggested that the validate option always be set to True (the default) unless there is a specific need to read in invalid configuration from disk.

__repr__(self)
(Representation operator)

source code 

Official string representation for class instance.

Overrides: object.__repr__

__str__(self)
(Informal representation operator)

source code 

Informal string representation for class instance.

Overrides: object.__str__

__cmp__(self, other)
(Comparison operator)

source code 

Original Python 2 comparison operator. Lists within this class are "unordered" for equality comparisons.

Parameters:
  • other - Other object to compare to.
Returns:
-1/0/1 depending on whether self is <, = or > other.

validate(self)

source code 

Validates configuration represented by the object. THere must be either a percentage, or a byte capacity, but not both.

Raises:
  • ValueError - If one of the validations fails.

addConfig(self, xmlDom, parentNode)

source code 

Adds a <capacity> configuration section as the next child of a parent.

Third parties should use this function to write configuration related to this extension.

We add the following fields to the document:

  maxPercentage  //cb_config/capacity/max_percentage
  minBytes       //cb_config/capacity/min_bytes
Parameters:
  • xmlDom - DOM tree as from impl.createDocument().
  • parentNode - Parent that the section should be appended to.

_setCapacity(self, value)

source code 

Property target used to set the capacity configuration value. If not None, the value must be a CapacityConfig object.

Raises:
  • ValueError - If the value is not a CapacityConfig

_parseXmlData(self, xmlData)

source code 

Internal method to parse an XML string into the object.

This method parses the XML document into a DOM tree (xmlDom) and then calls a static method to parse the capacity configuration section.

Parameters:
  • xmlData (String data) - XML data to be parsed
Raises:
  • ValueError - If the XML cannot be successfully parsed.

_parseCapacity(parentNode)
Static Method

source code 

Parses a capacity configuration section.

We read the following fields:

  maxPercentage  //cb_config/capacity/max_percentage
  minBytes       //cb_config/capacity/min_bytes
Parameters:
  • parentNode - Parent node to search beneath.
Returns:
CapacityConfig object or None if the section does not exist.
Raises:
  • ValueError - If some filled-in value is invalid.

_readPercentageQuantity(parent, name)
Static Method

source code 

Read a percentage quantity value from an XML document.

Parameters:
  • parent - Parent node to search beneath.
  • name - Name of node to search for.
Returns:
Percentage quantity parsed from XML document

_addPercentageQuantity(xmlDom, parentNode, nodeName, percentageQuantity)
Static Method

source code 

Adds a text node as the next child of a parent, to contain a percentage quantity.

If the percentageQuantity is None, then no node will be created.

Parameters:
  • xmlDom - DOM tree as from impl.createDocument().
  • parentNode - Parent node to create child for.
  • nodeName - Name of the new container node.
  • percentageQuantity - PercentageQuantity object to put into the XML document
Returns:
Reference to the newly-created node.

Property Details [hide private]

capacity

Capacity configuration in terms of a CapacityConfig object.

Get Method:
_getCapacity(self) - Property target used to get the capacity configuration value.
Set Method:
_setCapacity(self, value) - Property target used to set the capacity configuration value.