def load(process_id): """Return existing workflow instance loaded from storage.""" LOG.debug("Load a process definition from %s", process_id) storage = Storage.instance() pdef = storage.load("definition", process_id) xmlelement = ET.fromstring(pdef) assert xmlelement.tag == 'process' parent_id = '' if "parent" in xmlelement.attrib: parent_id = xmlelement.attrib["parent"] process = Process(parent_id, xmlelement, process_id, Context()) process.reset_state(json.loads(storage.load("process", process.id))) return Workflow(process)