Package Peach :: Package Engine :: Module parser :: Class ParseTemplate
[hide private]

Class ParseTemplate

source code

The Peach 2.0 XML -> Peach DOM parser. Uses 4Suite XML library.

Instance Methods [hide private]
 
parse(self, uri)
Parse a Peach XML file pointed to by uri.
source code
 
parseString(self, xml)
Parse a string as Peach XML.
source code
 
GetClassesInModule(self, module)
Return array of class names in module
source code
 
HandleDocument(self, doc) source code
 
StripComments(self, node) source code
 
StripText(self, node) source code
 
GetRef(self, str, parent=None, childAttr='templates')
Get the object indicated by ref.
source code
 
_SearchNamespaces(self, obj, name, attr)
Used by GetRef to search across namespaces
source code
 
GetDataRef(self, str)
Get the data object indicated by ref.
source code
 
GetValueFromNode(self, node) source code
 
GetValueFromNodeNumber(self, node) source code
 
HandleTemplate(self, node, parent)
Parse an element named Template.
source code
 
HandleCommonTemplate(self, node, elem)
Handle the common children of data elements like String and Number.
source code
 
HandleTransformer(self, node, parent)
Handle Transformer element
source code
 
HandleFixup(self, node, parent)
Handle Fixup element
source code
 
HandleRelation(self, node, elem) source code
 
_HandleOccurs(self, node, element)
Grab min, max, and generated Occurs attributes
source code
 
HandleBlock(self, node, parent) source code
 
HandleMutators(self, node, parent) source code
 
HandleChoice(self, node, parent) source code
 
_getAttribute(self, node, name) source code
 
_getValueType(self, node) source code
 
HandleString(self, node, parent) source code
 
HandleNumber(self, node, parent) source code
 
HandleFlags(self, node, parent) source code
 
HandleFlag(self, node, parent) source code
 
HandleBlob(self, node, parent) source code
 
HandleData(self, node, parent) source code
 
HandleField(self, node, parent) source code
 
HandleAgent(self, node, parent) source code
 
HandleMonitor(self, node, parent)
Handle Monitor element
source code
 
HandleTest(self, node, parent) source code
 
_locateDefaultMutators(self, obj=None)
Look for a default set of mutators.
source code
 
HandleRun(self, node, parent) source code
 
HandlePublisher(self, node, parent) source code
 
HandleLogger(self, node, parent) source code
 
HandleStateMachine(self, node, parent) source code
 
HandleState(self, node, parent) source code
 
HandleAction(self, node, parent) source code
 
HandleActionParam(self, node, parent) source code
 
_HandleValueType(self, value, valueType)
Handle types: string, literal, and hex
source code
 
HandleParam(self, node, parent) source code
 
HandlePythonPath(self, node, parent) source code
 
HandleImport(self, node, parent) source code
 
HandleHint(self, node, parent) source code
Class Variables [hide private]
  _regsHex = re.compile(r"^([,\s]*\\x([a-zA-Z0-9]{2})[,\s]*)"), ...
Method Details [hide private]

GetRef(self, str, parent=None, childAttr='templates')

source code 

Get the object indicated by ref. Currently the object must have been defined prior to this point in the XML

GetDataRef(self, str)

source code 

Get the data object indicated by ref. Currently the object must have been defined prior to this point in the XML.

HandleTemplate(self, node, parent)

source code 

Parse an element named Template. Can handle actual Template elements and also reference Template elements.

e.g.:

<Template name="Xyz"> ... </Template>

or

<Template ref="Xyz" />

_locateDefaultMutators(self, obj=None)

source code 

Look for a default set of mutators.  We will follow this
search pattern:

1. Look at our self (context) level
2. Look at our imported namespaces
3. Recerse into namespaces (sub namespaces, etc)

This means a <Mutators> element in the top level XML file will
get precidence over the defaults.xml file which is included into
a namepsace.


Class Variable Details [hide private]

_regsHex

Value:
re.compile(r"^([,\s]*\\x([a-zA-Z0-9]{2})[,\s]*)"), re.compile(r"^([,\s\
]*%([a-zA-Z0-9]{2})[,\s]*)"), re.compile(r"^([,\s]*0x([a-zA-Z0-9]{2})[\
,\s]*)"), re.compile(r"^([,\s]*x([a-zA-Z0-9]{2})[,\s]*)"), re.compile(\
r"^([,\s]*([a-zA-Z0-9]{2})[,\s]*)")