Beispiel #1
0
def amr_request(request):
    form = AMRForm()
    if request.method == 'POST':
        form = AMRForm(request.POST, request.FILES)
        if form.is_valid():
            seqids, name, other_files = form.cleaned_data
            amr_request_object = AMRSummary.objects.create(user=request.user,
                                                           seqids=seqids)
            amr_request_object.status = 'Processing'
            if name is None:
                amr_request.name = amr_request.pk
            else:
                amr_request.name = name
            container_name = 'mash-{}'.format(amr_request.pk)
            file_names = list()
            for other_file in request.FILES.getlist('other_files'):
                file_name = os.path.join(container_name, other_file.name)
                file_names.append(file_name)
                blob_client = BlockBlobService(
                    account_name=settings.AZURE_ACCOUNT_NAME,
                    account_key=settings.AZURE_ACCOUNT_KEY)
                blob_client.create_container(container_name)
                blob_client.create_blob_from_bytes(
                    container_name=container_name,
                    blob_name=other_file.name,
                    blob=other_file.read())
            amr_request_object.other_input_files = file_names
            amr_request_object.save()
            run_amr_summary.apply_async(queue='cowbat',
                                        args=(amr_request_object.pk, ),
                                        countdown=10)
            return redirect('geneseekr:amr_result',
                            amr_request_pk=amr_request_object.pk)
    return render(request, 'geneseekr/amr_request.html', {'form': form})
Beispiel #2
0
 def test_valid_form(self):
     form = AMRForm({
         'seqids': '2015-SEQ-0711 2015-SEQ-0712'
     }, QueryDict())
     self.assertTrue(form.is_valid())
     seqids, name, other_files = form.cleaned_data
     self.assertEqual(seqids, ['2015-SEQ-0711', '2015-SEQ-0712'])
Beispiel #3
0
def amr_rename(request, amr_request_pk):
    amr_request_object = get_object_or_404(AMRSummary, pk=amr_request_pk)
    name = {'name': amr_request_object.name}
    form = AMRForm(initial=name)
    if request.method == "POST":
        amr_request_object.name = request.POST["name"]
        amr_request_object.save()
        return redirect('geneseekr:amr_home')
    return render(request, 'rename.html', {
        'amr_request': amr_request_object,
        'form': form
    })
Beispiel #4
0
 def test_invalid_form_blank(self):
     form = AMRForm({
         'seqids': ''
     }, QueryDict())
     self.assertFalse(form.is_valid())
Beispiel #5
0
 def test_invalid_form_wrong_seqid_does_not_exist(self):
     form = AMRForm({
         'seqids': '2222-SEQ-0711 2015-SEQ-0712'
     }, QueryDict())
     self.assertFalse(form.is_valid())