def _import_workflows(self, directory, managed=True): for example_directory_name in os.listdir(directory): if os.path.isdir(os.path.join(directory, example_directory_name)): with open( os.path.join(directory, example_directory_name, 'workflow.zip')) as fp: workflow_xml, metadata = Workflow.decompress(fp) workflow_root = etree.fromstring(workflow_xml) try: Workflow.objects.get(name=workflow_root.get('name'), managed=managed) except Workflow.DoesNotExist: LOG.info( _("Installing workflow %s") % workflow_root.get('name')) LOG.debug("Workflow definition:\n%s" % workflow_xml) workflow = Workflow.objects.new_workflow(owner=self.user) workflow.is_shared = True workflow.managed = managed workflow.name = workflow_root.get('name') workflow.save() Workflow.objects.initialize(workflow) import_workflow_root( workflow=workflow, workflow_definition_root=workflow_root, metadata=metadata, fs=self.fs) workflow.doc.all().delete( ) # Delete doc as it messes up the example sharing
def _import_workflows(self, directory, managed=True): for example_directory_name in os.listdir(directory): if os.path.isdir(os.path.join(directory, example_directory_name)): with open(os.path.join(directory, example_directory_name, 'workflow.zip')) as fp: workflow_xml, metadata = Workflow.decompress(fp) workflow_root = etree.fromstring(workflow_xml) try: Workflow.objects.get(name=workflow_root.get('name'), managed=managed) except Workflow.DoesNotExist: LOG.info(_("Installing workflow %s") % workflow_root.get('name')) LOG.debug("Workflow definition:\n%s" % workflow_xml) workflow = Workflow.objects.new_workflow(owner=self.user) workflow.is_shared = True workflow.managed = managed workflow.name = workflow_root.get('name') workflow.save() Workflow.objects.initialize(workflow) import_workflow_root(workflow=workflow, workflow_definition_root=workflow_root, metadata=metadata, fs=self.fs) workflow.doc.all().delete() # Delete doc as it messes up the example sharing