# coding=utf-8 import os import uuid import time from xml.etree.cElementTree import ElementTree, Element, SubElement, dump class ImportFile(object): def __init__(self): self.operations = [] def add_operation(self, operation, model): assert operation in ["create", "update", "delete"] self.operations.append((operation, model)) @property def etree(self): root = Element("operations") for name, model in self.operations: operation = SubElement(root, name) operation.append(model.etree) return root def dump_xml(self): return dump(self.etree) def write(self, directory, filename=None): if not os.path.exists(directory): os.makedirs(directory) if not filename: filename = "{}.xml".format(time.time()) xml = ElementTree(self.etree) xml.write("{}/{}".format(directory, filename), encoding="UTF-8", xml_declaration=True)