Exemplo n.º 1
0
    def test_rangeFromString(self):
        """
        Test that range is correctly returned.
        """
        print 'Running %s ...' % getName()
           
        s1 = 'ra(1,11,2)'
        s2 = 'r(1,11,2)'
#         print util.rangeFromString(s2)
        self.assertEqual([1,3,5,7,9], util.rangeFromString(s1))
        self.assertEqual(None, util.rangeFromString(s2))
Exemplo n.º 2
0
    def test_rangeFromString(self):
        """
        Test that range is correctly returned.
        """
        print 'Running %s ...' % getName()

        s1 = 'ra(1,11,2)'
        s2 = 'r(1,11,2)'
        #         print util.rangeFromString(s2)
        self.assertEqual([1, 3, 5, 7, 9], util.rangeFromString(s1))
        self.assertEqual(None, util.rangeFromString(s2))
Exemplo n.º 3
0
def add_multiple_feature(request, pk, spk):
    seq = Sequence.objects.get(pk=spk)
    if request.method == 'POST':
        form = MultipleFeatureForm(request.POST, moltype=seq.moltype)
 
        if form.is_valid():
            cd = form.cleaned_data
            
            fk = cd['featureKey']
            fl = cd['location']
            qn = cd['qualifierName']
            qv = cd['qualifierValue']
            
            if 'ra' in fl:
                locations = util.rangeFromString(fl) 
            else:
                locations = fl.split(',')
            for l in locations:
                f = Feature.objects.create(sequence=seq, featureKey=fk, location=l)
                f.save()
                q = Qualifier.objects.create(feature=f, 
                                             qualifierName = qn, 
                                             qualifierValue = qv)
                q.save()
             
            return HttpResponseRedirect(reverse('sequencelistings:edit_sequence_data', args=(seq.sequenceListing.pk,)))
    else:
        form = MultipleFeatureForm(request.POST, moltype=seq.moltype)
    return render(request, 'sequencelistings/add_multiple_feature.html', {'form': form, 'seq': seq})
Exemplo n.º 4
0
def add_multiple_feature(request, pk, spk):
    seq = Sequence.objects.get(pk=spk)
    if request.method == 'POST':
        form = MultipleFeatureForm(request.POST, moltype=seq.moltype)

        if form.is_valid():
            cd = form.cleaned_data

            fk = cd['featureKey']
            fl = cd['location']
            qn = cd['qualifierName']
            qv = cd['qualifierValue']

            if 'ra' in fl:
                locations = util.rangeFromString(fl)
            else:
                locations = fl.split(',')
            for l in locations:
                f = Feature.objects.create(sequence=seq,
                                           featureKey=fk,
                                           location=l)
                f.save()
                q = Qualifier.objects.create(feature=f,
                                             qualifierName=qn,
                                             qualifierValue=qv)
                q.save()

            return HttpResponseRedirect(
                reverse('sequencelistings:edit_seql',
                        args=(seq.sequenceListing.pk, )))
    else:
        form = MultipleFeatureForm(request.POST, moltype=seq.moltype)
    return render(request, 'sequencelistings/add_multiple_feature.html', {
        'form': form,
        'seq': seq
    })