def build_element_tree(self, id_len=10): root = Element('html') if self._jsgen.rand.rint(2): style = Element('style') style.set_text('*{%s}' % self._jsgen.generate_style_attribute( self._jsgen.rand.rint(self.MAX_STYLE_COUNTS))) root.append_child(style) body = Element('body') body.set_attribute('id', 'body') body.set_attribute('onload', 'cold_start()') root.append_child(body) self._ids.append('body') self._elements.append(body) init_element_counts = self._jsgen.rand.rint(self.MAX_INIT_ELEMENTS) for i in xrange(init_element_counts): ele = Element(self._jsgen.random_item(self._jsgen.ELEMENTS)) ele_id = self._jsgen.rand.rstr(id_len) ele.set_attribute('id', ele_id) self._jsgen.random_item(self._elements).append_child(ele) self._ids.append(ele_id) self._elements.append(ele) if self._jsgen.rand.rint(4) == 0: # style初始化处理 ele.set_attribute('style', self._jsgen.generate_style_attribute( self._jsgen.rand.rint(self.MAX_STYLE_COUNTS))) if self._jsgen.rand.rint(4) == 0: # text节点处理 ele.set_text('AAAAAAAA') return root
def convert(latex): math = Element('math') math.pretty = True row = math.append_child('mrow') _classify_subgroup(aggregate(latex), row) return str(math)