CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes | Static Public Attributes | Static Private Member Functions | Private Attributes
XML2Python.TreeBuilder Class Reference
Inheritance diagram for XML2Python.TreeBuilder:

Public Member Functions

def __init__ (self, kwargs)
 
def __init__ (self, kwargs)
 
def characters (self, content)
 
def characters (self, content)
 
def endElement (self, name)
 
def endElement (self, name)
 
def root (self)
 
def root (self)
 
def startElement (self, name, attrs)
 
def startElement (self, name, attrs)
 
def topLevel (self)
 
def topLevel (self)
 

Public Attributes

 current
 

Static Public Attributes

 non_id_char
 

Static Private Member Functions

def _name_mangle (name)
 
def _name_mangle (name)
 

Private Attributes

 _ncDict
 
 _root
 
 _stack
 
 _text_parts
 

Detailed Description

Definition at line 159 of file XML2Python.py.

Constructor & Destructor Documentation

def XML2Python.TreeBuilder.__init__ (   self,
  kwargs 
)

Definition at line 163 of file XML2Python.py.

Referenced by XML2Python.TreeBuilder.__init__().

163  def __init__ (self, **kwargs):
164  self._stack = []
165  self._text_parts = []
166  self._ncDict = kwargs.get ('nameChangeDict', {})
167  self._root = DataNode (nameChangeDict = self._ncDict)
168  self.current = self._root
169 
def __init__(self, kwargs)
Definition: XML2Python.py:163
def XML2Python.TreeBuilder.__init__ (   self,
  kwargs 
)

Member Function Documentation

def XML2Python.TreeBuilder._name_mangle (   name)
staticprivate

Definition at line 108 of file XML2Python.py.

References XML2Python.TreeBuilder._name_mangle().

108  def _name_mangle (name):
109  return TreeBuilder.non_id_char.sub('_', name)
110 
111 
def XML2Python.TreeBuilder._name_mangle (   name)
staticprivate

Definition at line 202 of file XML2Python.py.

Referenced by XML2Python.TreeBuilder._name_mangle().

202  def _name_mangle (name):
203  return TreeBuilder.non_id_char.sub('_', name)
204 
205 
def XML2Python.TreeBuilder.characters (   self,
  content 
)

Definition at line 96 of file XML2Python.py.

References XML2Python.TreeBuilder.characters().

96  def characters (self, content):
97  self._text_parts.append(content)
98 
def characters(self, content)
Definition: XML2Python.py:190
def XML2Python.TreeBuilder.characters (   self,
  content 
)

Definition at line 190 of file XML2Python.py.

Referenced by XML2Python.TreeBuilder.characters().

190  def characters (self, content):
191  self._text_parts.append(content)
192 
def characters(self, content)
Definition: XML2Python.py:190
def XML2Python.TreeBuilder.endElement (   self,
  name 
)

Definition at line 84 of file XML2Python.py.

References XML2Python.TreeBuilder._text_parts, XML2Python.TreeBuilder.current, svgfig.Curve.Samples.current, XML2Python.TreeBuilder.endElement(), and digi_MixPreMix_cfi.strip.

84  def endElement (self, name):
85  text = ''.join (self._text_parts).strip()
86  if text:
87  self.current._data = text
88  if self.current.attributes():
89  obj = self.current
90  else:
91  # a text only node is simply represented by the string
92  obj = text or ''
93  self.current, self._text_parts = self._stack.pop()
94  self.current._add_xml_attr (TreeBuilder._name_mangle(name), obj)
95 
def endElement(self, name)
Definition: XML2Python.py:178
def XML2Python.TreeBuilder.endElement (   self,
  name 
)

Definition at line 178 of file XML2Python.py.

References XML2Python.TreeBuilder._text_parts, XML2Python.TreeBuilder.current, svgfig.Curve.Samples.current, and digi_MixPreMix_cfi.strip.

Referenced by XML2Python.TreeBuilder.endElement().

178  def endElement (self, name):
179  text = ''.join (self._text_parts).strip()
180  if text:
181  self.current._data = text
182  if self.current.attributes():
183  obj = self.current
184  else:
185  # a text only node is simply represented by the string
186  obj = text or ''
187  self.current, self._text_parts = self._stack.pop()
188  self.current._add_xml_attr (TreeBuilder._name_mangle(name), obj)
189 
def endElement(self, name)
Definition: XML2Python.py:178
def XML2Python.TreeBuilder.root (   self)

Definition at line 99 of file XML2Python.py.

References XML2Python.TreeBuilder._root, and XML2Python.TreeBuilder.root().

99  def root (self):
100  return self._root
101 
def XML2Python.TreeBuilder.root (   self)

Definition at line 193 of file XML2Python.py.

References XML2Python.TreeBuilder._root.

Referenced by XML2Python.TreeBuilder.root().

193  def root (self):
194  return self._root
195 
def XML2Python.TreeBuilder.startElement (   self,
  name,
  attrs 
)

Definition at line 76 of file XML2Python.py.

References XML2Python.DataNode._ncDict, XML2Python.TreeBuilder._ncDict, XML2Python.TreeBuilder._text_parts, XML2Python.TreeBuilder.current, svgfig.Curve.Samples.current, and XML2Python.TreeBuilder.startElement().

76  def startElement (self, name, attrs):
77  self._stack.append( (self.current, self._text_parts))
78  self.current = DataNode (nameChangeDict = self._ncDict)
79  self._text_parts = []
80  # xml attributes --> python attributes
81  for k, v in attrs.items():
82  self.current._add_xml_attr (TreeBuilder._name_mangle(k), v)
83 
def startElement(self, name, attrs)
Definition: XML2Python.py:170
def XML2Python.TreeBuilder.startElement (   self,
  name,
  attrs 
)

Definition at line 170 of file XML2Python.py.

References XML2Python.DataNode._ncDict, XML2Python.TreeBuilder._ncDict, XML2Python.TreeBuilder._text_parts, XML2Python.TreeBuilder.current, and svgfig.Curve.Samples.current.

Referenced by XML2Python.TreeBuilder.startElement().

170  def startElement (self, name, attrs):
171  self._stack.append( (self.current, self._text_parts))
172  self.current = DataNode (nameChangeDict = self._ncDict)
173  self._text_parts = []
174  # xml attributes --> python attributes
175  for k, v in attrs.items():
176  self.current._add_xml_attr (TreeBuilder._name_mangle(k), v)
177 
def startElement(self, name, attrs)
Definition: XML2Python.py:170
def XML2Python.TreeBuilder.topLevel (   self)
Returns top level object

Definition at line 102 of file XML2Python.py.

References XML2Python.TreeBuilder.topLevel(), and MuonErrorMatrixValues_cff.values.

102  def topLevel (self):
103  '''Returns top level object'''
104  return self._root.attributes().values()[0]
105 
106 
def XML2Python.TreeBuilder.topLevel (   self)
Returns top level object

Definition at line 196 of file XML2Python.py.

References MuonErrorMatrixValues_cff.values.

Referenced by XML2Python.TreeBuilder.topLevel().

196  def topLevel (self):
197  '''Returns top level object'''
198  return self._root.attributes().values()[0]
199 
200 

Member Data Documentation

XML2Python.TreeBuilder._ncDict
private
XML2Python.TreeBuilder._root
private
XML2Python.TreeBuilder._stack
private

Definition at line 164 of file XML2Python.py.

Referenced by XML2Python.TreeBuilder.__init__().

XML2Python.TreeBuilder._text_parts
private
XML2Python.TreeBuilder.current
XML2Python.TreeBuilder.non_id_char
static

Definition at line 67 of file XML2Python.py.