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 160 of file XML2Python.py.

Constructor & Destructor Documentation

def XML2Python.TreeBuilder.__init__ (   self,
  kwargs 
)

Definition at line 164 of file XML2Python.py.

Referenced by XML2Python.TreeBuilder.__init__().

164  def __init__ (self, **kwargs):
165  self._stack = []
166  self._text_parts = []
167  self._ncDict = kwargs.get ('nameChangeDict', {})
168  self._root = DataNode (nameChangeDict = self._ncDict)
169  self.current = self._root
170 
def __init__(self, kwargs)
Definition: XML2Python.py:164
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 203 of file XML2Python.py.

Referenced by XML2Python.TreeBuilder._name_mangle().

203  def _name_mangle (name):
204  return TreeBuilder.non_id_char.sub('_', name)
205 
206 
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:191
def XML2Python.TreeBuilder.characters (   self,
  content 
)

Definition at line 191 of file XML2Python.py.

Referenced by XML2Python.TreeBuilder.characters().

191  def characters (self, content):
192  self._text_parts.append(content)
193 
def characters(self, content)
Definition: XML2Python.py:191
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 digitizers_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:179
def XML2Python.TreeBuilder.endElement (   self,
  name 
)

Definition at line 179 of file XML2Python.py.

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

Referenced by XML2Python.TreeBuilder.endElement().

179  def endElement (self, name):
180  text = ''.join (self._text_parts).strip()
181  if text:
182  self.current._data = text
183  if self.current.attributes():
184  obj = self.current
185  else:
186  # a text only node is simply represented by the string
187  obj = text or ''
188  self.current, self._text_parts = self._stack.pop()
189  self.current._add_xml_attr (TreeBuilder._name_mangle(name), obj)
190 
def endElement(self, name)
Definition: XML2Python.py:179
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 194 of file XML2Python.py.

References XML2Python.TreeBuilder._root.

Referenced by XML2Python.TreeBuilder.root().

194  def root (self):
195  return self._root
196 
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:171
def XML2Python.TreeBuilder.startElement (   self,
  name,
  attrs 
)

Definition at line 171 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().

171  def startElement (self, name, attrs):
172  self._stack.append( (self.current, self._text_parts))
173  self.current = DataNode (nameChangeDict = self._ncDict)
174  self._text_parts = []
175  # xml attributes --> python attributes
176  for k, v in attrs.items():
177  self.current._add_xml_attr (TreeBuilder._name_mangle(k), v)
178 
def startElement(self, name, attrs)
Definition: XML2Python.py:171
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 197 of file XML2Python.py.

References MuonErrorMatrixValues_cff.values.

Referenced by XML2Python.TreeBuilder.topLevel().

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

Member Data Documentation

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

Definition at line 165 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.