예제 #1
0
    def test_read_only_file(self):

        doc = Document(title='New Doc', file_name='A File', file=self.upload,
                                                                author=self.u1)
        doc.save()

        self.assertRaises(ReadOnlyFileError, doc.file.delete)
        self.assertRaises(ReadOnlyFileError, doc.file.write, 'test')
        self.assertRaises(ReadOnlyFileError, doc.file.writelines, 'test')
예제 #2
0
def upload_file(request):
	if request.method == 'POST':
		form = UploadForm(request.POST, request.FILES)
		if form.is_valid():
			newdoc = Document(filename = request.POST['filename'],docfile = request.FILES['docfile'])
			newdoc.save(form)
			return redirect("uploads")
	else:
		form = UploadForm()
		#tambien se puede utilizar render_to_response
		#return render_to_response('upload.html', {'form': form}, context_instance = RequestContext(request))
	return render(request, 'upload.html', {'form': form})
예제 #3
0
    def test_auto_blob_creation(self):
        """
        Test that a blob is created when using file attriube on a document.
        """
        doc = Document(title='New Doc', file_name='A File', file=self.upload,
                                                                author=self.u1)
        doc.save()
        doc.file.seek(0)
        self.upload.seek(0)

        self.assertEqual(doc.file.read(), self.upload.read())
        self.assertEqual(ParentBlob.objects.count(), 1)

        doc.file.seek(0)
        self.upload.seek(0)

        self.assertEqual(ParentBlob.objects.all()[0].file.read(),
                                                        self.upload.read())
예제 #4
0
파일: views.py 프로젝트: mwschouten/gps
def submit(request):

    print('REQUEST.FILES', request.FILES)
    print('REQUEST.FILES', request.FILES['docfile'].__dict__)
    print('REQUEST.POST', request.POST)
    name = request.FILES['docfile']._name
    # Handle file upload
    if request.method == 'POST':
        form = DocumentForm(request.POST, request.FILES)

        print('FORM ', form)
        print('FORM IS VALID', form.is_valid())

        if form.is_valid():
            newdoc = Document(docfile = request.FILES['docfile'])
            newdoc.save()

            print ('NEWDOC ',newdoc)
            print ('NEWDOC ',newdoc.__dict__)
            print ('NEWDOC ',newdoc.docfile.__dict__)
            file_stored = 'media/' + newdoc.docfile.name
            print ('FILE STORED ',file_stored)

            ok,matched = import_xlsx(filename = request.FILES['docfile']._name,
                                     file_stored = file_stored)


            # Respond ANYWAY
            return JsonResponse({
                'ok':True,
                'id':newdoc.id,
                'name':request.FILES['docfile']._name,
                'size':request.FILES['docfile']._size,
                'match':'new'}
                )
        else:
            return JsonResponse({
                'ok':False,
                'errors':form.errors}
                )
            
예제 #5
0
    def test_auto_derived_blob_creation(self):
        """
        Test that a blob is created when using the file attribue on a derived
        document.
        """
        doc = Document(title='New Doc', file_name='A File', file=self.upload,
                                                                author=self.u1)
        doc.save()
        derived = DerivedDocument(derived_from=doc._blob, index=0,
                                                        file=self.upload2)
        derived.save()

        self.upload2.seek(0)
        self.upload.seek(0)

        self.assertEqual(derived.file.read(), self.upload2.read())
        self.assertEqual(DerivedBlob.objects.count(), 1)

        self.upload2.seek(0)
        derived.file.seek(0)

        self.assertEqual(DerivedBlob.objects.all()[0].file.read(),
                                                        self.upload2.read())