def assertSVG(self, geom, expected, **kwrds): """Helper function to check XML and debug SVG""" svg_elem = geom.svg(**kwrds) try: parse_xml_string(svg_elem) except: raise AssertionError('XML is not valid for SVG element: ' + str(svg_elem)) svg_doc = geom._repr_svg_() try: doc = parse_xml_string(svg_doc) except: raise AssertionError('XML is not valid for SVG document: ' + str(svg_doc)) svg_output_dir = None # svg_output_dir = '.' # useful for debugging SVG files if svg_output_dir: fname = geom.type if geom.is_empty: fname += '_empty' if not geom.is_valid: fname += '_invalid' if kwrds: fname += '_' + \ ','.join(str(k) + '=' + str(kwrds[k]) for k in kwrds) svg_path = os.path.join(svg_output_dir, fname + '.svg') with open(svg_path, 'w') as fp: fp.write(doc.toprettyxml()) self.assertEqual(svg_elem, expected)
def assertSVG(self, geom, expected, **kwrds): """Helper function to check XML and debug SVG""" svg_elem = geom.svg(**kwrds) try: parse_xml_string(svg_elem) except: raise AssertionError( 'XML is not valid for SVG element: ' + str(svg_elem)) svg_doc = geom._repr_svg_() try: doc = parse_xml_string(svg_doc) except: raise AssertionError( 'XML is not valid for SVG doucment: ' + str(svg_doc)) svg_output_dir = None # svg_output_dir = '.' # useful for debugging SVG files if svg_output_dir: fname = geom.type if geom.is_empty: fname += '_empty' if not geom.is_valid: fname += '_invalid' if kwrds: fname += '_' + \ ','.join(str(k) + '=' + str(kwrds[k]) for k in kwrds) svg_path = os.path.join(svg_output_dir, fname + '.svg') with open(svg_path, 'w') as fp: fp.write(doc.toprettyxml()) self.assertEqual(svg_elem, expected)
def slow_prettify(code): xml = parse_xml_string(code) utils.strip_minidom_whitespace(xml) xml.normalize() result = xml.toprettyxml(indent=' ') result = result.replace('<?xml version="1.0" ?>\n', '') return result.strip()
def render(self, encoding='utf-8'): xml = self._strip_newlines(self._render_template()) return parse_xml_string(xml).toprettyxml( indent='', newl='', encoding=encoding, )
data = element.firstChild.data.encode().strip() data = base64.b64decode(data) pictures.append(dict(filename=filename, data=data)) self.pictures_element = pictures_element self.appearances = appearances self.works = works self.pictures = pictures def _get_title_and_desc(self, element): title_element = TitleElement('') title_element.reform(element.childNodes[0]) desc_element = DescriptionElement('') desc_element.reform(element.childNodes[1]) return title_element.get(), desc_element.get() if __name__ == '__main__': from StringIO import StringIO g = GuestElement() xmlfile = StringIO() xmlfile.write(g.toxml()) xmlfile.seek(0) parsed = parse_xml_string(g.toxml()) #gp = GuestElementParser(parsed) pe = PictureElement('foo.gz', file('foo.gz').read())
def toprettyxml(self): xml = parse_xml_string(self._render_template()) return '\n'.join([ l for l in xml.toprettyxml(indent=' ' * 2).split('\n') if l.strip() ])