| |
Methods defined here:
- AugmentXmlDB(self)
- Augument the XML database of parsed XML values with python generated
parameters.
- BaseXType(self, ftype)
- Returns the base XML field type for the given field type.
Parameters:
ftype - (Derived) field type.
Return:
Base field type.
- EvalNum(sefl, *args)
- Evaluate a summation of terms.
Paramters:
args List of summation terms, with each term one of:
an equation, string, number
Examples:
5 -> '5'
5, '(3 * 10)' -> '35'
5, 'MY_MAX', '1*255' -> '300+MY_MAX'
Return:
Returns string of the evaluated results.
- GenClass(self, fp)
- Generate derived NetMsgs class.
Parameters:
fp - Opened output file pointer.
- GenEpilogue(self, fp)
- Generate .py file epilogue.
Parameters:
fp - Opened output file pointer.
- GenFTDict(self, fp)
- Generate field types dictionary.
genftdict ::=
ns+'ExtFieldTypes' '=' '{' ftdict '}'
ftdict ::=
ftdict_item
| ftdict ',' ftdict_item
ftdict_item ::=
ftid ':' '{' msgdef '}'
| ftid ':' '{' fielddef '}'
Parameters:
fp - Opened output file pointer.
- GenFieldDef(self, name, fid, fdef, dentry)
- Generate field definition dictionary entry.
fielddef ::=
fielddef_simple
| fielddef_string
| fielddef_struct
| fielddef_vector
fielddef_simple ::=
fielddef_common ',' ['min:' m ',' 'max:' M ',' 'const:' C]
fielddef_string ::=
fielddef_common ',' ['const:' C]
fielddef_struct ::=
fielddef_common ',' 'msgdef:' '{' msgdef '}'
fielddef_vector ::=
fielddef_common ',' 'vdef:' '{' fielddef '}'
fielddef_common ::=
'name:' name ',' 'fid:' fid ',' 'ftype:' ftype ',' 'max_count:' n
name ::= (* field string name *)
msgid ::= (* field id enumeration *)
ftype ::= (* field type code *)
max_count ::= (* number of vector items, string characters or 1 for
simpel types *)
Parameters:
name - Name keyword value.
fid - Field id keyword value.
fdef - XML field definition.
deentry - Output field definition entry.
- GenMsgDef(self, name, msgid, msgdef, dentry)
- Generate message definition dictionary entry.
msgdef ::=
msgdef_common ',' 'fielddef:' '[' fdeflist ']'
msgdef_common ::=
'name:' name ',' 'msgid:' msgid ',' 'max_count:' n
fdeflist ::=
'{' fielddef '}'
fdeflist ',' '{' fielddef '}'
name ::= (* message string name *)
msgid ::= (* message id enumeration *)
max_count ::= (* number of fields in message definition *)
Parameters:
name - Name keyword value.
msgid - Message id keyword value.
msgdef - XML message definition.
deentry - Output message definition entry.
- GenMsgDefSet(self, fp)
- Generate message definition set.
genmsgdefset ::=
ns+'MsgDefSet' '=' '{' msgdefset '}'
msgdefset ::=
msgdef_item
| msgdefset ',' msgdef_item
msgdef_item ::=
msgid ':' '{' msgdef '}'
Parameters:
fp - Opened output file pointer.
- GenMsgIds(self, fp)
- Generate Message Id enumeration.
Parameters:
fp - Opened output file pointer.
- GenPrologue(self, fp)
- Generate .py file prologue.
Prologue includes core imports plus any prologue specified
in the XML file.
Parameters:
fp - Opened output file pointer.
- GenSource(self)
- Generate python .py source file.
Exceptions:
Raises NetMsgError exception on error.
- GetLineage(self, xtype)
- Get lineage of XML field type
Parameters:
xtype - XML field type
Return:
List of ancestors order from base to nearest to xtype.
- IsDeprecated(self, xdef)
- Returns True (False) is definition is (not) deprecated.
Parameters:
xdef - XML ftypedef, msgdef, or fielddef XML specification.
Return:
True or False.
- Pass0(self)
- Make initial pass through the XML database and augument with
specific python information.
No generated python code is written to file output.
- PrettyPrintBriefComment(self, fp, brief)
- Print doxygen brief comment block.
Parameters:
fp - Opened output file pointer.
brief - Brief comment.
- PrettyPrintMajorDivComment(self, fp, comment)
- Prints major file division comment block.
Parameters:
fp - Opened output file pointer.
comment - Major division comment line.
- PrettyPrintMinorDivComment(self, fp, comment)
- Prints minor file division comment block.
Parameters:
fp - Opened output file pointer.
comment - Minor division comment line.
- PrettyPrintTopComment(self, fp)
- Prints source file top comment block.
Parameters:
fp - Opened output file pointer.
- WriteFTDict(self, fp)
- Write field types and field type dictionary.
Parameters:
fp - Opened output file pointer.
- WriteMsgDefSet(self, fp)
- Write message definitions and message definition set dictionary.
Parameters:
fp - Opened output file pointer.
- __init__(self, xml, pyfilepath, **kwargs)
- Initialize NetMsgsGenPy instance.
Parameters:
xml - NetMsgsXMLParser class instance.
pyfilepath - Generated output python file.
kwargs - Optional keyword arguments.
debug - Set debugging level: 0 == off, 1, 2, 3.
|