added basic functionality to import designers into esales cluster
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user