def experiments(request): if request.method == 'POST': form = ExecutionForm(request.POST, request.FILES or None) if not form.is_valid(): title = "Experiments %s" % (request.user) # form_html = render_crispy_form(form) context = { "form": form, 'title': title } return render(request, "experiments.html", context) algorithm = request.POST.get('Algorithm') d_User = User.objects.get(username=request.user) alg = Algorithms.objects.get(nameAlg=algorithm) execution = Execution( request_by=d_User.usuariofriends, algorithm=alg, ) execution.save() if (request.FILES): # print request.FILES fileIn = request.FILES["Input"] execution.inputFile = fileIn execution.save() queryInputFile = ( settings.MEDIA_ROOT + execution.inputFile.name.replace('./', '/') ).replace(' ', '\ ') queryOutputFile = queryInputFile queryOutputFile = queryOutputFile.replace('input', 'output') # print "QUERY OUT : " + queryOutputFile query = alg.command + ' ' + queryInputFile + '>' + queryOutputFile # print query else: query = execution.algorithm.command outputFilePath = './users/user_' + \ str(execution.request_by.usuario.id) + \ '/' + str(execution.id) + '/output' # print(outputFilePath) # teste = RunExperiment.delay(execution.algorithm.command) teste = RunExperiment.delay(alg.command, execution.id) # teste = RunExperiment.delay(query, execution, outputFilePath) #print teste.status # RunExperiment.apply_async( # args=[query, execution, outputFilePath], kwargs={}, countdown=60) # RunExperiment.delay(query, execution, outputFilePath) # os.system(query) # execution.outputFile = queryOutputFile execution.save() title = "Experiments %s" % (request.user) # cont = {"title": title, "form": form} return HttpResponseRedirect(reverse('home')) # return render(request, "experiments.html", cont) form = ExecutionForm(request.POST or None) title = "Experiments %s" % (request.user) context = { "title": title, "form": form } return render(request, "experiments.html", context)
def checkForm(request): form = ExecutionForm(request.POST or None) # request POST? print(request.POST) print "\n\n" if form.is_valid(): # processa experiments(request) helper = FormHelper() helper.form_id = 'form_exec' helper.form_action = '.' form_html = render_crispy_form(ExecutionForm(None), helper) return {'success': True, 'form_html': form_html} else: helper = FormHelper() helper.form_id = 'form_exec' helper.form_action = '.' form_html = render_crispy_form(form, helper, RequestContext(request)) return {'success': False, 'form_html': form_html}