예제 #1
0
    def test_upped_bound_topic(self):
        form = DocumentForm({'topics': 21, 'document': self.filedoc})

        self.assertFalse(form.is_valid())
        self.assertEquals(form.errors, {
            'topics' : ['This field is out of bounds.'],
        })
예제 #2
0
    def test_blank_data(self):
        form = DocumentForm({})

        self.assertFalse(form.is_valid())
        self.assertEquals(form.errors, {
            'document' : ['This field is out of bounds.']
        })
예제 #3
0
 def test_valid_data(self):
     form = DocumentForm({
         'topics': 3,
         'document': self.filedoc
     })
     if not form.is_valid():
         print(form.errors)
     self.assertTrue(form.is_valid())
     uploaded_doc = form.save()
     self.assertEqual(uploaded_doc.topics, 3)
     self.assertEqual(uploaded_doc.document, 'testFiles/test.json')
예제 #4
0
def home(request):
    if request.method == 'POST':
        if 'add_item' in request.POST:

            form = DocumentForm(request.POST, request.FILES)
            if form.is_valid():
                form.save()
                doc = FileDoc.objects.latest('uploaded_at')
                # Runs the lDA  analysis with the relevant filename
                # last parameter needs to be the filename with the approporiate extenson i.e .txt, .json etc
                if doc.topics is None:
                    numOfTopics = -1
                else:
                    numOfTopics = doc.topics

                doc.status = 'In progress'
                output = subprocess.Popen([
                    "python", "manage.py", "analysis",
                    doc.file(),
                    str(numOfTopics)
                ])
                doc.save()
                return redirect('home')
            else:
                print("Form is not valid")
        elif 'delete_item' in request.POST:

            form = DocumentForm()
            item_to_delete = request.POST.get('delete_item')
            FileDoc.objects.filter(pk=item_to_delete).delete()
    else:

        form = DocumentForm()

    documents = FileDoc.objects.all().order_by('-uploaded_at')
    return render(request, 'home.html', {
        'form': form,
        'documents': documents,
    })
예제 #5
0
 def test_doc_file(self):
     testFile = FileDoc(topics=3, document='testFiles/test.doc')
     dform = DocumentForm(data={'topics': 3, 'document': testFile})
     
     self.assertTrue(dform.is_valid())
예제 #6
0
 def test_json_file(self):
     dform = DocumentForm(data={'topics': 3, 'document': self.filedoc})
     self.assertTrue(dform.is_valid())
예제 #7
0
 def test_init(self):
     DocumentForm()
예제 #8
0
 def test_jpg_invalid_file(self):
     testFile = FileDoc(topics=3, document='testFiles/test.jpg')
     dform = DocumentForm(data={'topics': 3, 'document': testFile})
     
     self.assertFalse(dform.is_valid())