def submit(request): if request.method == 'POST': form = SubmitForm(request.POST, request.FILES) if not form.is_valid(): message = 'Form was invalid' else: message = 'Form was valid' e = Experiment(name=request.POST['experiment'],start_date = timezone.now()) e.save() handle_file_upload(request.FILES['vcf_file'],UPLOAD_ROOT+str(e.id)+'.vcf') handle_file_upload(request.FILES['ped_file'],UPLOAD_ROOT+str(e.id)+'.ped') return render(request, 'tests/submit.html', {'message':message }) else: form = SubmitForm() return render(request, 'tests/submit.html', { 'form': form })
def new(request): if request.method=='POST': form = NewExperimentForm(request.POST, request.FILES) if form.is_valid(): e = Experiment(name=request.POST['experiment'],start_date = timezone.now()) e.save() print '** Saved Experiment %s, id: %s **' % (str(e),e.id,) handle_file_upload(request.FILES['vcf_file'],UPLOAD_ROOT+str(e.id)+'.vcf') print '** Uploaded File %s **' % request.FILES['vcf_file'].name handle_file_upload(request.FILES['ped_file'],UPLOAD_ROOT+str(e.id)+'.ped') print '** Uploaded File %s **' % request.FILES['ped_file'].name return redirect('/experiment/'+str(e.id)+'/create/') else: return HttpResponse("The form is invalid") else: form = NewExperimentForm() return render(request,'experiment/new.html',{'form':form})
def new(request): exp = Experiment() user = request.user userprofile = UserProfile.objects.get(user=user) # query the database for all applications return render_to_response('experiment/new_exp_form.html', {'userprofile': userprofile}, context_instance=RequestContext(request))
def create_experiment(request, lesson_id): name = request.POST.get("experiment_name", None) username = request.user.username teacher = Teacher.objects.get(username=username) lesson_list = Lesson.objects.filter(teacher=teacher) if name: content = request.POST.get("experiment_content", None) deadline = request.POST.get("deadline", None) remark = request.POST.get("remark", None) # weight = request.POST.get("weight", None) try: lesson = Lesson.objects.get(id=lesson_id, teacher=teacher) except Lesson.DoesNotExist: return render(request, "base.html") experiment = Experiment(name=name, content=content, deadline=deadline, remark=remark, lesson=lesson) experiment.save() return redirect("create_experiment_success") else: return render(request, "teacher/create_experiment.html", {"lesson_list": lesson_list})
def login(): form = SignupForm() if request.method == 'GET': return render_template('login.html', form=form) elif request.method == 'POST': if form.validate_on_submit(): experiment = Experiment(form.pseudonim.data, form.sex.data == "woman", form.wiek.data) db_session.add(experiment) db_session.commit() return redirect("experiment/{}".format(experiment.id)) else: return "form not validated" else: return "Wrong request"
def init_db(): if True: meta = MetaData(engine) meta.reflect() meta.drop_all() # import all modules here that might define models so that # they will be registered properly on the metadata. Otherwise # you will have to import them first before calling init_db() import experiment.models Base.metadata.create_all(bind=engine) from experiment.models import Experiment from experiment.models import Config config = Config(True, 0, 10, 3) e = Experiment(config) db_session.add(e) db_session.commit()
def create_experiment(request): # define default response response = {"err": "", "data": ""} # initialize a counter for apps i = 0 j = 0 # initialize filename filenames = {} filedirs = {} if request.POST: period = request.POST["duration"] unit = request.POST["dur_unit"] if unit == "W": period = int(period) * 7 elif unit == "M": period = int(period) * 30 # Save Experiment exp = Experiment( name=request.POST["expname"], description=request.POST["expdesc"], tag=request.POST["exptag"], period=period ) exp.save() # upload IRB Letter file_type = request.FILES["irbletter"].content_type.split("/")[1] # save IRB Letter irbname = os.path.join(RAW_IRB_ROOT, str(exp.irb) + "." + file_type) irbdir = os.path.dirname(irbname) try: os.mkdir(irbdir) except OSError, e: if e.errno != errno.EEXIST: response["err"] = {"no": "err1", "msg": "cannot create dir, failed upload"} raise # get file handle fileHandle = open(irbname, "wb+") for chunk in request.FILES["irbletter"].chunks(): # write it out fileHandle.write(chunk) # close file handle fileHandle.close() response["data"] = "done" # add user to the experiment exp.user.add(request.user) devs = Device.objects.all() appnames = request.POST.getlist("appname") appdescs = request.POST.getlist("appdesc") apptypes = request.POST.getlist("apptype") # add the devices to the experiment for dev in devs: exp.dev.add(dev) # add the apps to the experiment for app in appnames: application = Application( user=request.user, name=app, # package_name = params['package_name'], # intent_name = params['intent_name'], description=appdescs[i], type=apptypes[i], active="E", ) # version = params["version"], application.save() exp.app.add(application) i = i + 1 # create dirs for Applications filename = os.path.join(RAW_APP_ROOT, str(application.id) + ".apk") filedir = os.path.dirname(filename) filenames[app] = filename filedirs[app] = filedir exp.save() exp_profile = ExperimentProfile(experiment=exp) exp_profile.starttime = datetime.now() exp_profile.endtime = datetime.now() exp_profile.save() # upload experiment for afile in request.FILES.getlist("upload"): # create folder for user if it doesn`t exist try: os.mkdir(filedirs[appnames[j]]) except OSError, e: if e.errno != errno.EEXIST: response["err"] = {"no": "err1", "msg": "cannot create dir, failed upload"} raise # get file handle fileHandle = open(filenames[appnames[j]], "wb+") # write it out for chunk in afile.chunks(): fileHandle.write(chunk) # close file handle fileHandle.close() j = j + 1 response["data"] = "done"
def create_experiment(request): # define default response response = {"err": "", "data": ""} #initialize a counter for apps i = 0 j = 0 #initialize filename filenames = {} filedirs = {} if request.POST: period = request.POST['duration'] unit = request.POST['dur_unit'] if unit == 'W': period = int(period) * 7 elif unit == 'M': period = int(period) * 30 # Save Experiment exp = Experiment( name=request.POST['expname'], description=request.POST['expdesc'], tag=request.POST['exptag'], period=period, ) exp.save() #upload IRB Letter file_type = request.FILES['irbletter'].content_type.split('/')[1] #save IRB Letter irbname = os.path.join(RAW_IRB_ROOT, str(exp.irb) + '.' + file_type) irbdir = os.path.dirname(irbname) try: os.mkdir(irbdir) except OSError, e: if e.errno != errno.EEXIST: response['err'] = { 'no': 'err1', 'msg': 'cannot create dir, failed upload' } raise # get file handle fileHandle = open(irbname, 'wb+') for chunk in request.FILES['irbletter'].chunks(): # write it out fileHandle.write(chunk) # close file handle fileHandle.close() response['data'] = "done" #add user to the experiment exp.user.add(request.user) devs = Device.objects.all() appnames = request.POST.getlist('appname') appdescs = request.POST.getlist('appdesc') apptypes = request.POST.getlist('apptype') #add the devices to the experiment for dev in devs: exp.dev.add(dev) #add the apps to the experiment for app in appnames: application = Application( user=request.user, name=app, #package_name = params['package_name'], #intent_name = params['intent_name'], description=appdescs[i], type=apptypes[i], active="E") #version = params["version"], application.save() exp.app.add(application) i = i + 1 #create dirs for Applications filename = os.path.join(RAW_APP_ROOT, str(application.id) + ".apk") filedir = os.path.dirname(filename) filenames[app] = filename filedirs[app] = filedir exp.save() exp_profile = ExperimentProfile(experiment=exp) exp_profile.starttime = datetime.now() exp_profile.endtime = datetime.now() exp_profile.save() #upload experiment for afile in request.FILES.getlist('upload'): # create folder for user if it doesn`t exist try: os.mkdir(filedirs[appnames[j]]) except OSError, e: if e.errno != errno.EEXIST: response['err'] = { 'no': 'err1', 'msg': 'cannot create dir, failed upload' } raise # get file handle fileHandle = open(filenames[appnames[j]], 'wb+') # write it out for chunk in afile.chunks(): fileHandle.write(chunk) # close file handle fileHandle.close() j = j + 1 response['data'] = "done"
def get_experiments(): return Experiment.get_all_list()
def get_experiment(experiment_name): ''' 获取实验 ''' return Experiment.get(experiment_name)