def test_init(self): """Testing __init__""" file_object = StringIO() for class_name in entity.keys(): reader = XMLWriter(file_object, class_name) with self.assertRaises(DataWriterException): reader = XMLWriter(file_object, 'Foo')
def __init__(self, xml_out=None, basedir=None): """ @param xml_out: Output filename, if None, will dump to tempfile @param basedir: working directory, where file will be created """ if xml_out: self.filename = xml_out fd = open(xml_out, 'w') else: try: (fdesc, self.filename) = tempfile.mkstemp('.xml', 'pyx12_') fd = os.fdopen(fdesc, 'w+b') #fd = tempfile.NamedTemporaryFile() #self.filename = fd.name except: #self.filename = '997.tmp.xml' (fdesc, self.filename) = tempfile.mkstemp(suffix='.xml', prefix='pyx12_', dir=basedir) fd = os.fdopen(fdesc, 'w+b') #fd = file(os.path.join(basedir, self.filename), 'w') self.cur_line = None self.errors = [] if not fd: raise EngineError('Could not open temp error xml file') self.writer = XMLWriter(fd) #self.writer.doctype( # u"x12simple", u"-//J Holland//DTD XML X12 Document # Conversion1.0//EN//XML", # u"%s" % (dtd_urn)) self.writer.push("x12err")
def __init__(self, fd, type, dtd_urn): self.writer = XMLWriter(fd) if dtd_urn: self.writer.doctype( type, "-//J Holland//DTD XML X12 Document Conversion1.0//EN//XML", "%s" % (dtd_urn)) self.writer.push(type) self.last_path = None
def writeXML(self): try: print "trying to write..." xml = XMLWriter(self.objects, "borgball", (str(self.imIdx) + ".jpg"), 240, 320, 3, (self.exportfolder + str(self.imIdx) + ".xml")) xml.write() except Exception as ex: print ex print "something went wrong during writeXML()"
def save_click(self): filename = QtGui.QFileDialog.getSaveFileName(self, "Select a file for parameters", "supervisors", "XML files (*.xml)") if filename is not None: writer = XMLWriter(filename, 'parameters', self.contents.get_xmlstruct()) try: writer.write() except Exception as e: #QtGui.QMessageBox.critical(self,"Saving parameters failed",str(e)) QtGui.QMessageBox.critical(self,"Saving parameters failed","\n".join(format_exception(*sys.exc_info())))
def test_write_parameters_bad_parameter_float_key(self): parameters = {'pid': { 'goal': {'13.0': '10.0', 'x': 11.0}, 'angle': {'theta': 0.7854}, 'velocity': {'v': 0.1}, ('gains', 'soft'): {'ki': 0.1, 'kp': 5.0, 'kd': 0.01}, ('gains', 'hard'): {'ki': 0.1, 'kp': 5.0, 'kd': 0.01} } } writer = XMLWriter("bad_parameter.xml", "parameters", parameters) self.assertRaises(Exception, writer.write)
def test_default_value(self): """Testing default value""" file_object = StringIO() writer = XMLWriter(file_object, 'Testing') instance = Testing() writer.start() writer.write_entity(instance) writer.end() result = file_object.getvalue() self.assertEqual( result.strip(), """ <?xml version="1.0" encoding="UTF-8"?> <Testings> <Testing> <f1></f1> <f2>9999-12-31</f2> <f3>-1</f3> <f4>-1.0</f4> </Testing> </Testings>""".strip())
def test_dump(self): """Testing dumping two instance""" file_object = StringIO() writer = XMLWriter(file_object, 'Testing') writer.start() instance = Testing() instance.f1 = 'aaa' import datetime instance.f2 = datetime.datetime(1999, 2, 3).date() instance.f3 = 1 instance.f4 = 1 writer.write_entity(instance) instance.f1 = 'bbb' import datetime instance.f2 = datetime.datetime(2009, 2, 3).date() instance.f3 = 2 instance.f4 = 2 writer.write_entity(instance) writer.end() result = file_object.getvalue() self.assertEqual( result.strip(), """ <?xml version="1.0" encoding="UTF-8"?> <Testings> <Testing> <f1>aaa</f1> <f2>1999-02-03</f2> <f3>1</f3> <f4>1.0</f4> </Testing> <Testing> <f1>bbb</f1> <f2>2009-02-03</f2> <f3>2</f3> <f4>2.0</f4> </Testing> </Testings> """.strip())
def test_write_parameters_legal(self): parameters = {'pid': { 'goal': {'y': 10.0, 'x': 11.0}, 'angle': {'theta': 0.7854}, 'velocity': {'v': 0.1}, ('gains', 'soft'): {'ki': 0.1, 'kp': 5.0, 'kd': 0.01}, ('gains', 'hard'): {'ki': 0.1, 'kp': 5.0, 'kd': 0.01} } } file_ = "tmp_removeme.xml" try: XMLWriter(file_, "parameters", parameters).write() result = XMLReader(file_, "parameters").read() assert result == parameters finally: # If the file was created (it exists), delete it try: with open(file_) as f: f.close() unlink(file_) except IOError: pass
def test_write_parameters_root_not_dict(self): parameters = ('shaun', 'juliet') writer = XMLWriter("root_not_dict.xml", "parameters", parameters) self.assertRaises(Exception, writer.write)