def handle_preview_xml(self): """ Return xml preview of suggested new vocabulary """ fob = StringIO() fob.write(self.request.params['preview'].encode('utf-8')) fob.seek(0) matrix = [] for row in csv.reader(fob): matrix.append(row) manager = VDEXManager(matrix=matrix) return base64.encodestring(manager.serialize())
def testMatrixImport(self): manager = VDEXManager(resource_stream(__name__, 'test.xml')) matrix = manager.exportMatrix() new_manager = VDEXManager(matrix=matrix) self.assertEquals(matrix, new_manager.exportMatrix()) data = new_manager.serialize() should_be_xml = '<?xml version="1.0" encoding="utf-8" ?>\n<vdex xmlns="http://www.imsglobal.org/xsd/imsvdex_v1p0"><term><termIdentifier>identical</termIdentifier><caption><langstring language="en">is identical with</langstring><langstring language="fr">est identique avec</langstring><langstring language="it">\xc3\xa8 identico con</langstring></caption></term><term><termIdentifier>relative</termIdentifier><caption><langstring language="de">ist verwandt mit</langstring><langstring language="en">is relative of</langstring><langstring language="fr">est parent avec</langstring><langstring language="it">\xc3\xa8 parente di</langstring></caption><term><termIdentifier>child</termIdentifier><caption><langstring language="de">ist Kind von</langstring><langstring language="en">is child of</langstring><langstring language="fr">est enfant de</langstring><langstring language="it">\xc3\xa8 prole di</langstring></caption></term></term></vdex>' obj = objectify.fromstring(should_be_xml) should_be = etree.tostring(obj, encoding='utf-8', standalone=True) self.assertEquals(should_be, data)
def testTooMuchInput(self): manager = VDEXManager(resource_stream(__name__, 'test.xml')) xml = manager.serialize() matrix = manager.exportMatrix() self.assertRaises(AttributeError, VDEXManager, xml, matrix)