def main(): workflow_files = sys.argv[1] workflow_name = sys.argv[2] output_file = sys.argv[3] spec = BpmnSerializer().deserialize_workflow_spec(PackagerForTests.package_in_memory(workflow_name, workflow_files)) f = open(output_file, "w") try: f.write(spec.to_html_string()) finally: f.close()
def main(): workflow_files = sys.argv[1] workflow_name = sys.argv[2] output_file = sys.argv[3] spec = BpmnSerializer().deserialize_workflow_spec( PackagerForTests.package_in_memory(workflow_name, workflow_files)) f = open(output_file, 'w') try: f.write(spec.to_html_string()) finally: f.close()
def load_or_create_workflow(self): """ tries to load the workflow from session creates a new one if it can't find :return: """ try: workflow_path = self.get_worfklow_path() serialized_wf = self.request.session.workflows[workflow_path] self.workflow = BpmnWorkflow.deserialize(DictionarySerializer(), serialized_wf) except Exception as e: print e wf_pkg_file = open(self.workflow_name) self.workflow_spec = BpmnSerializer().deserialize_workflow_spec(wf_pkg_file) self.workflow = BpmnWorkflow(self.workflow_spec)
def get_worfklow_spec(self): """ generates and caches the workflow spec package from bpmn diagrams that read from disk :return: workflow spec package """ # TODO: convert from in-process to redis based caching if self.current.workflow_name not in self.workflow_spec_cache: path = self.find_workflow_path() spec_package = InMemoryPackager.package_in_memory( self.current.workflow_name, path) spec = BpmnSerializer().deserialize_workflow_spec(spec_package) self.workflow_spec_cache[self.current.workflow_name] = spec return self.workflow_spec_cache[self.current.workflow_name]
def load_workflow_spec(self, content_path, workflow_name): package = InMemoryPackager.package_in_memory(workflow_name, content_path) return BpmnSerializer().deserialize_workflow_spec(package)
def load_workflow_spec(filename, process_name): f = os.path.join(os.path.dirname(__file__), 'workflows', filename) return BpmnSerializer().deserialize_workflow_spec( PackagerForTests.package_in_memory(process_name, f))