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))
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))
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})
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 })