Package gavo :: Package grammars :: Module freeregrammar :: Class FreeREGrammar
[frames] | no frames]

Class FreeREGrammar

source code

                   object --+                
                            |                
 base.structure.StructureBase --+            
                                |            
                   object --+   |            
                            |   |            
           base.common.Parser --+            
                                |            
base.structure.ParseableStructure --+        
                                    |        
             base.structure.Structure --+    
                                        |    
                   object --+           |    
                            |           |    
     base.macros.MacroPackage --+       |    
                                |       |    
   base.macros.StandardMacroMixin --+   |    
                                    |   |    
             common.GrammarMacroMixin --+    
                                        |    
                           common.Grammar --+
                                            |
                                           FreeREGrammar

A grammar allowing "free" regular expressions to parse a document.

Basically, you give a rowProduction to match individual records in the document. All matches of rowProduction will then be matched with parseRE, which in turn must have named groups. The dictionary from named groups to their matches makes up the input row.

For writing the parseRE, we recommend writing an element, using a CDATA construct, and taking advantage of python's "verbose" regular expressions. Here's an example:

       <parseRE><![CDATA[(?xsm)^name::(?P<name>.*)
               ^query::(?P<query>.*)
               ^description::(?P<description>.*)\.\.
       ]]></parseRE>
Nested Classes
  rowIterator
An object that encapsulates the a source being parsed by a grammar.

Inherited from base.structure.StructureBase: __metaclass__

Instance Methods
 
clearProperty(self, name) source code
 
getFullId(self) source code
 
getProperty(self, name, default=<Undefined>) source code
 
hasProperty(self, name) source code
 
setProperty(self, name, value) source code

Inherited from common.Grammar: getSourceFields, parse

Inherited from base.structure.Structure: __provides__, callCompletedCallbacks, completeElement, finishElement, onElementComplete, validate

Inherited from base.structure.ParseableStructure: __init__, end_, feed, feedFrom, feedObject, getAttribute, iterEvents, start_, value_

Inherited from base.structure.StructureBase: __providedBy__, adopt, breakCircles, change, copy, getAttributes, getCopyableAttributes, getSourcePosition, iterChildren, setPosition

Inherited from base.common.Parser: feedEvent

Inherited from common.GrammarMacroMixin: macro_colNames, macro_dlMetaURI, macro_fullDLURL, macro_inputRelativePath, macro_inputSize, macro_lastSourceElements, macro_property, macro_rootlessPath, macro_rowsProcessed, macro_sourceDate, macro_splitPreviewPath, macro_srcstem, macro_standardPreviewPath

Inherited from base.macros.StandardMacroMixin: macro_RSTservicelink, macro_RSTtable, macro_decapitalize, macro_getConfig, macro_internallink, macro_magicEmpty, macro_metaSeq, macro_metaString, macro_rdId, macro_rdIdDotted, macro_schema, macro_test, macro_today, macro_upper, macro_urlquote

Inherited from base.macros.MacroPackage: execMacro, expand, getExpander, listMacros, macro_quote, macro_reSub, macro_sql_standardPubDID, macro_sqlquote

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

Class Methods

Inherited from base.structure.StructureBase: fromStructure

Class Variables
  name_ = 'freeREGrammar'
a sentinel for all kinds of undefined values.
  attrSeq = [<gavo.base.attrdef.UnicodeAttribute object>, <gavo....
  managedAttrs = {'enc': <gavo.base.attrdef.UnicodeAttribute obj...

Inherited from common.Grammar: isDispatching

Inherited from base.structure.Structure: __implemented__

Inherited from base.structure.StructureBase: completedCallbacks

Properties
  rd

Inherited from object: __class__

Method Details

clearProperty(self, name)

source code 
Overrides: common.Grammar.clearProperty

getFullId(self)

source code 
Overrides: common.Grammar.getFullId

getProperty(self, name, default=<Undefined>)

source code 
Overrides: common.Grammar.getProperty

hasProperty(self, name)

source code 
Overrides: common.Grammar.hasProperty

setProperty(self, name, value)

source code 
Overrides: common.Grammar.setProperty

Class Variable Details

attrSeq

Value:
[<gavo.base.attrdef.UnicodeAttribute object>,
 <gavo.base.parsecontext.IdAttribute object>,
 <gavo.base.attrdef.BooleanAttribute object>,
 <gavo.base.complexattrs.StructAttribute object>,
 <gavo.base.parsecontext.OriginalAttribute object>,
 <gavo.grammars.common.REAttribute object>,
 <gavo.base.complexattrs.PropertyAttribute object>,
 <gavo.rscdef.common.RDAttribute object>,
...

managedAttrs

Value:
{'enc': <gavo.base.attrdef.UnicodeAttribute object>,
 'id': <gavo.base.parsecontext.IdAttribute object>,
 'ignoreJunk': <gavo.base.attrdef.BooleanAttribute object>,
 'ignoreOn': <gavo.base.complexattrs.StructAttribute object>,
 'original': <gavo.base.parsecontext.OriginalAttribute object>,
 'parseRE': <gavo.grammars.common.REAttribute object>,
 'properties': <gavo.base.complexattrs.PropertyAttribute object>,
 'property': <gavo.base.complexattrs.PropertyAttribute object>,
...

Property Details

rd

Get Method:
unreachable._getRD(self)