Files
api2/esales/utils.py
T

36 lines
999 B
Python

# 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)