Esempio n. 1
0
def import_workflow(request):
    if ENABLE_V2.get():
        raise PopupException(
            '/oozie/import_workflow is deprecated in the version 2 of Editor')

    workflow = Workflow.objects.new_workflow(request.user)

    if request.method == 'POST':
        workflow_form = ImportWorkflowForm(request.POST,
                                           request.FILES,
                                           instance=workflow)

        if workflow_form.is_valid():
            if workflow_form.cleaned_data.get('resource_archive'):
                # Upload resources to workspace
                source = workflow_form.cleaned_data.get('resource_archive')
                if source.name.endswith('.zip'):
                    workflow.save()
                    Workflow.objects.initialize(workflow, request.fs)
                    temp_path = archive_factory(source).extract()
                    request.fs.copyFromLocal(temp_path,
                                             workflow.deployment_dir)
                    shutil.rmtree(temp_path)
                else:
                    raise PopupException(_('Archive should be a Zip.'))
            else:
                workflow.save()
                Workflow.objects.initialize(workflow, request.fs)

            workflow.managed = True
            workflow.save()

            workflow_definition = workflow_form.cleaned_data[
                'definition_file'].read()

            try:
                _import_workflow(fs=request.fs,
                                 workflow=workflow,
                                 workflow_definition=workflow_definition)
                request.info(_('Workflow imported'))
                return redirect(
                    reverse('oozie:edit_workflow',
                            kwargs={'workflow': workflow.id}))
            except Exception as e:
                request.error(_('Could not import workflow: %s' % e))
                Workflow.objects.destroy(workflow, request.fs)
                raise PopupException(_('Could not import workflow.'), detail=e)

        else:
            request.error(_('Errors on the form: %s') % workflow_form.errors)

    else:
        workflow_form = ImportWorkflowForm(instance=workflow)

    return render('editor/import_workflow.mako', request, {
        'workflow_form': workflow_form,
        'workflow': workflow,
    })
Esempio n. 2
0
File: editor.py Progetto: 10sr/hue
def import_workflow(request):
  if ENABLE_V2.get():
    raise PopupException('/oozie/import_workflow is deprecated in the version 2 of Editor')

  workflow = Workflow.objects.new_workflow(request.user)

  if request.method == 'POST':
    workflow_form = ImportWorkflowForm(request.POST, request.FILES, instance=workflow)

    if workflow_form.is_valid():
      if workflow_form.cleaned_data.get('resource_archive'):
        # Upload resources to workspace
        source = workflow_form.cleaned_data.get('resource_archive')
        if source.name.endswith('.zip'):
          workflow.save()
          Workflow.objects.initialize(workflow, request.fs)
          temp_path = archive_factory(source).extract()
          request.fs.copyFromLocal(temp_path, workflow.deployment_dir)
          shutil.rmtree(temp_path)
        else:
          raise PopupException(_('Archive should be a Zip.'))
      else:
        workflow.save()
        Workflow.objects.initialize(workflow, request.fs)

      workflow.managed = True
      workflow.save()

      workflow_definition = workflow_form.cleaned_data['definition_file'].read()

      try:
        _import_workflow(fs=request.fs, workflow=workflow, workflow_definition=workflow_definition)
        request.info(_('Workflow imported'))
        return redirect(reverse('oozie:edit_workflow', kwargs={'workflow': workflow.id}))
      except Exception, e:
        request.error(_('Could not import workflow: %s' % e))
        Workflow.objects.destroy(workflow, request.fs)
        raise PopupException(_('Could not import workflow.'), detail=e)

    else:
      request.error(_('Errors on the form: %s') % workflow_form.errors)
Esempio n. 3
0
def import_workflow(request):
    workflow = Workflow.objects.new_workflow(request.user)

    if request.method == "POST":
        workflow_form = ImportWorkflowForm(request.POST, request.FILES, instance=workflow)

        if workflow_form.is_valid():
            if workflow_form.cleaned_data.get("resource_archive"):
                # Upload resources to workspace
                source = workflow_form.cleaned_data.get("resource_archive")
                if source.name.endswith(".zip"):
                    workflow.save()
                    Workflow.objects.initialize(workflow, request.fs)
                    temp_path = archive_factory(source).extract()
                    request.fs.copyFromLocal(temp_path, workflow.deployment_dir)
                    shutil.rmtree(temp_path)
                else:
                    raise PopupException(_("Archive should be a Zip."))
            else:
                workflow.save()
                Workflow.objects.initialize(workflow, request.fs)

            workflow.managed = True
            workflow.save()

            workflow_definition = workflow_form.cleaned_data["definition_file"].read()

            try:
                _import_workflow(fs=request.fs, workflow=workflow, workflow_definition=workflow_definition)
                request.info(_("Workflow imported"))
                return redirect(reverse("oozie:edit_workflow", kwargs={"workflow": workflow.id}))
            except Exception, e:
                request.error(_("Could not import workflow: %s" % e))
                Workflow.objects.destroy(workflow, request.fs)
                raise PopupException(_("Could not import workflow."), detail=e)

        else:
            request.error(_("Errors on the form: %s") % workflow_form.errors)
Esempio n. 4
0
def import_workflow(request):
  workflow = Workflow.objects.new_workflow(request.user)

  if request.method == 'POST':
    workflow_form = ImportWorkflowForm(request.POST, request.FILES, instance=workflow)

    if workflow_form.is_valid():
      workflow.save()

      workflow_definition = workflow_form.cleaned_data['definition_file'].read()

      try:
        _import_workflow(fs=request.fs, workflow=workflow, workflow_definition=workflow_definition)
        request.info(_('Workflow imported'))
        return redirect(reverse('oozie:edit_workflow', kwargs={'workflow': workflow.id}))

      except Exception, e:
        request.error(_('Could not import workflow: %s' % e))
        Workflow.objects.destroy(workflow, request.fs)
        raise PopupException(_('Could not import workflow.'), detail=e)

    else:
      request.error(_('Errors on the form: %s') % workflow_form.errors)
Esempio n. 5
0
                                 workflow=workflow,
                                 workflow_definition=workflow_definition)
                request.info(_('Workflow imported'))
                return redirect(
                    reverse('oozie:edit_workflow',
                            kwargs={'workflow': workflow.id}))
            except Exception, e:
                request.error(_('Could not import workflow: %s' % e))
                Workflow.objects.destroy(workflow, request.fs)
                raise PopupException(_('Could not import workflow.'), detail=e)

        else:
            request.error(_('Errors on the form: %s') % workflow_form.errors)

    else:
        workflow_form = ImportWorkflowForm(instance=workflow)

    return render('editor/import_workflow.mako', request, {
        'workflow_form': workflow_form,
        'workflow': workflow,
    })


def import_coordinator(request):
    coordinator = Coordinator(owner=request.user,
                              schema_version="uri:oozie:coordinator:0.2")

    if request.method == 'POST':
        coordinator_form = ImportCoordinatorForm(request.POST,
                                                 request.FILES,
                                                 instance=coordinator,