CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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__
 
def __init__
 
def characters
 
def characters
 
def endElement
 
def endElement
 
def root
 
def root
 
def startElement
 
def startElement
 
def topLevel
 
def topLevel
 

Public Attributes

 current
 

Static Public Attributes

tuple non_id_char = re.compile('[^_0-9a-zA-Z]')
 

Static Private Member Functions

def _name_mangle
 
def _name_mangle
 

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__().

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

Definition at line 69 of file XML2Python.py.

References XML2Python.TreeBuilder.__init__(), XML2Python.DataNode._ncDict, XML2Python.TreeBuilder._ncDict, XML2Python.TreeBuilder._root, XML2Python.TreeBuilder._stack, XML2Python.TreeBuilder._text_parts, XML2Python.TreeBuilder.current, and svgfig.Curve.Samples.current.

69 
70  def __init__ (self, **kwargs):
71  self._stack = []
72  self._text_parts = []
73  self._ncDict = kwargs.get ('nameChangeDict', {})
74  self._root = DataNode (nameChangeDict = self._ncDict)
75  self.current = self._root

Member Function Documentation

def XML2Python.TreeBuilder._name_mangle (   name)
staticprivate

Definition at line 108 of file XML2Python.py.

References XML2Python.TreeBuilder._name_mangle().

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

Definition at line 203 of file XML2Python.py.

Referenced by XML2Python.TreeBuilder._name_mangle().

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

Definition at line 96 of file XML2Python.py.

References XML2Python.TreeBuilder.characters().

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

Definition at line 191 of file XML2Python.py.

Referenced by XML2Python.TreeBuilder.characters().

192  def characters (self, content):
193  self._text_parts.append(content)
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 
85  def endElement (self, name):
86  text = ''.join (self._text_parts).strip()
87  if text:
88  self.current._data = text
89  if self.current.attributes():
90  obj = self.current
91  else:
92  # a text only node is simply represented by the string
93  obj = text or ''
94  self.current, self._text_parts = self._stack.pop()
95  self.current._add_xml_attr (TreeBuilder._name_mangle(name), obj)
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().

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

Definition at line 99 of file XML2Python.py.

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

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

Definition at line 194 of file XML2Python.py.

References XML2Python.TreeBuilder._root.

Referenced by XML2Python.TreeBuilder.root().

195  def root (self):
196  return self._root
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 
77  def startElement (self, name, attrs):
78  self._stack.append( (self.current, self._text_parts))
79  self.current = DataNode (nameChangeDict = self._ncDict)
80  self._text_parts = []
81  # xml attributes --> python attributes
82  for k, v in attrs.items():
83  self.current._add_xml_attr (TreeBuilder._name_mangle(k), v)
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().

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

Definition at line 102 of file XML2Python.py.

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

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

Definition at line 197 of file XML2Python.py.

References makeHLTPrescaleTable.values.

Referenced by XML2Python.TreeBuilder.topLevel().

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

Member Data Documentation

XML2Python.TreeBuilder._ncDict
private

Definition at line 167 of file XML2Python.py.

Referenced by XML2Python.TreeBuilder.__init__(), python.XML2Python.TreeBuilder.startElement(), and XML2Python.TreeBuilder.startElement().

XML2Python.TreeBuilder._root
private

Definition at line 168 of file XML2Python.py.

Referenced by XML2Python.TreeBuilder.__init__(), python.XML2Python.TreeBuilder.root(), and XML2Python.TreeBuilder.root().

XML2Python.TreeBuilder._stack
private

Definition at line 165 of file XML2Python.py.

Referenced by XML2Python.TreeBuilder.__init__().

XML2Python.TreeBuilder._text_parts
private

Definition at line 166 of file XML2Python.py.

Referenced by XML2Python.TreeBuilder.__init__(), python.XML2Python.TreeBuilder.endElement(), XML2Python.TreeBuilder.endElement(), python.XML2Python.TreeBuilder.startElement(), and XML2Python.TreeBuilder.startElement().

XML2Python.TreeBuilder.current

Definition at line 169 of file XML2Python.py.

Referenced by XML2Python.TreeBuilder.__init__(), python.XML2Python.TreeBuilder.endElement(), XML2Python.TreeBuilder.endElement(), python.XML2Python.TreeBuilder.startElement(), and XML2Python.TreeBuilder.startElement().

tuple XML2Python.TreeBuilder.non_id_char = re.compile('[^_0-9a-zA-Z]')
static

Definition at line 162 of file XML2Python.py.