def handle(self, *args, **options): dataset_file = options['dataset_file'] dataset_description = options['dataset_description'] if not Dataset.objects.filter(description=dataset_description): try: dataset = Dataset(description=dataset_description) reopen = open(dataset_file, 'rb') #TODO: add some checks of file format and content, and modify if necessary django_file = File(reopen) dataset.raw_data.save(hashlib.sha256('raw_data_' + str(dataset.pk)). \ hexdigest().encode('utf8').encode('utf-8'), \ django_file, save=True) dataset.save() except: print 'oups, something went wrong while uploading the dataset' else: print 'oups, this dataset description already exists, change it!'
def upload_dataset(request): context = {} if request.method == 'POST': form = UploadFileForm(request.POST, request.FILES) if form.is_valid(): if not Dataset.objects.filter(description=form. cleaned_data['description']): newdataset = Dataset(description=form. cleaned_data['description'], raw_data=request.FILES['file'], user=request.user) newdataset.save() return redirect("motorapp:run") else: context['error'] = 'Oups, your dataset has not been uploaded, \ since this description already exists, \ change it!' else: form = UploadFileForm() context['form'] = form return render_to_response('motorapp/upload_dataset.html', context, context_instance=RequestContext(request))