Example #1
0
def home():
    feature_form = FeatureForm()
    file_form = FileForm()
    with open ("static/final_svm_model.pkl",'rb') as pickle_file:
          model = pickle.load(pickle_file)

    if feature_form.validate_on_submit():
        sepal_length= feature_form.sepal_length.data
        sepal_width = feature_form.sepal_width.data
        petal_length = feature_form.petal_length.data
        petal_width = feature_form.petal_width.data

        data = np.array([sepal_length,sepal_width, petal_length, petal_width]).reshape(1,-1)
        prediction= model.predict(data)
        predict_result = ""

        if prediction == 0:
            predict_result = 'setosa'
        elif prediction == 1:
            predict_result =  'versicolor'
        else :
            predict_result = 'virginica'

        #image_file_name = str(uuid.uuid4())
        #image_file = image_file_name + ".png"
        #search_image(predict_result, image_file)

        return render_template("home.html", feature_form=feature_form, file_form = file_form, result = predict_result)

    elif file_form.validate_on_submit():
        file = file_form.test_file.data #FileStorage object

        try:
            data= pd.read_csv(file,sep=' ', delimiter=r"\s+",index_col=False)
            prediction = model.predict(data)

        except Exception:
            return  "Something went worng. PLEASE CHECK THE FILE AGAIN"
        prediction = prediction.astype(str)
        prediction[prediction == '0'] = 'setosa'
        prediction[prediction == '1'] = 'versicolor'
        prediction[prediction == '2'] = 'virginica'

        prediction_file_name = str(uuid.uuid4())
        predict_result_file = prediction_file_name + ".txt"
        np.savetxt("static/prediction/"+ predict_result_file,  prediction, newline="\r\n" , fmt="%s")
        return redirect(url_for('predict_txt', filename=predict_result_file))

    return render_template("home.html", feature_form=feature_form, file_form = file_form)
Example #2
0
def edit(id):
    """
    edit a feature request
    """
    feature = Feature.query.get_or_404(id)

    form = FeatureForm()

    if form.validate_on_submit():

        feature.title = form.title.data
        feature.description = form.description.data
        feature.client_priority = form.client_priority.data
        feature.target_date = datetime.utcnow()
        feature.product_area_id = form.product_area.data
        feature.client_id = form.client.data
        feature.project_id = form.project.data
        feature.user_id = current_user._get_current_object().id
        arr = Feature.query.filter(Feature.client_id == form.client.data) \
                            .filter(Feature.project_id == feature.project_id) \
                            .filter(Feature.id != feature.id) \
                            .order_by(Feature.client_priority).all()
        reorder(arr, form.client_priority.data)
        try:
            db.session.add(feature)
            db.session.commit()
            log = Log(username=current_user._get_current_object().username,
                      feature=feature,
                      action="updated",
                      timestamp=datetime.utcnow())

            db.session.add(log)
            flash('You have successfully updated the Feature Request.')
        except:
            flash(
                'An error occured while trying to update the Feature Request.')

        return redirect(url_for('.show', id=feature.id))

    form.title.data = feature.title
    form.description.data = feature.description
    form.client_priority.data = feature.client_priority
    form.target_date.data = feature.target_date
    form.product_area.data = feature.product_area_id
    form.client.data = feature.client_id
    form.project.data = feature.project_id
    form.user.data = current_user._get_current_object().id

    return render_template('hrequests/edit.html', form=form, feature=feature)
Example #3
0
def editfeature(feature_id):
    dbFeature = db.features
    feature = Feature(feature_id)
    if feature is None:
        flash('feature doesnt exist.')

        return redirect(url_for('home'))

    form = FeatureForm()

    if form.validate_on_submit():
        feature._name = form.name.data
        feature._state_us = form.stateUs.data
        feature._state_en = form.stateEn.data
        feature._state_de = form.stateDe.data
        feature._state_cl = form.stateCl.data
        feature._state_fi = form.stateFi.data
        feature._state_it = form.stateIt.data
        feature._state_jp = form.stateJp.data
        feature._state_es = form.stateEs.data
        feature._state_ru = form.stateRu.data
        feature._state_fr = form.stateFr.data

        feature.commit()

        flash('feature successfuly edited.')

        return redirect(url_for('managefeature'))

    # pas reussis a faire marcher
    #form.populate_obj(feature)
    if request.method == 'GET':
        form.name.data = feature._name
        form.stateUs.data = feature._state_us
        form.stateEn.data = feature._state_en
        form.stateDe.data = feature._state_de
        form.stateCl.data = feature._state_cl
        form.stateFi.data = feature._state_fi
        form.stateIt.data = feature._state_it
        form.stateJp.data = feature._state_jp
        form.stateEs.data = feature._state_es
        form.stateRu.data = feature._state_ru
        form.stateFr.data = feature._state_fr

    return render_template('addEditFeature.html',
                           form=form,
                           type="edit",
                           id=feature._id)
Example #4
0
def sequence(request, pk, spk):
    seq = Sequence.objects.get(pk=spk)
    form = SequenceForm(
        instance=seq,
        #                         sn = seq.sequenceName,
        initial={
            'organism': seq.getOrganism(),
            'sequenceName': seq.sequenceName
        })

    form.organism = seq.getOrganism()
    featureFormDic = {}
    qualifierFormDic = {}
    for f in seq.feature_set.all():
        featureFormDic[f] = FeatureForm(instance=f,
                                        mt=seq.moltype,
                                        initial={'featureKey': f.featureKey})

        qualifierFormList = []
        for q in f.qualifier_set.all():
            qualifierFormList.append(
                QualifierForm(feature=f,
                              instance=q,
                              initial={'qualifierName': q.qualifierName}))

        qualifierFormDic[f] = qualifierFormList

    return render(
        request, 'sequencelistings/sequence.html', {
            'form': form,
            'seq': seq,
            'featureFormDic': featureFormDic,
            'qualifierFormDic': qualifierFormDic,
        })
Example #5
0
def add_feature(request, pk, spk):
    seq = Sequence.objects.get(pk=spk)
     
    if request.method == 'POST':
        form = FeatureForm(request.POST, mt=seq.moltype)
 
        if form.is_valid():
            cd = form.cleaned_data
             
            fk = cd['featureKey']
            fl = cd['location']
            f = Feature.objects.create(sequence=seq, featureKey=fk, location=fl)
            f.save()
            return HttpResponseRedirect(reverse('sequencelistings:edit_sequence_data', args=(pk,)))
    else:
        form = FeatureForm(mt=seq.moltype)
    return render(request, 'sequencelistings/add_feature.html', {'form': form, 'seq': seq})
Example #6
0
def edit_feature(request, pk, spk, fpk):
    seq = Sequence.objects.get(pk=spk)
    f = Feature.objects.all().get(pk=fpk)
    
    featureForm = FeatureForm(instance=f, mt=seq.moltype, initial={'featureKey': f.featureKey})

    if request.method == 'POST':
        form = FeatureForm(request.POST, mt=seq.moltype)
  
        if form.is_valid():
            cd = form.cleaned_data
              
            f.featureKey = cd['featureKey']
            f.location = cd['location']
            f.save()
            return HttpResponseRedirect(reverse('sequencelistings:edit_sequence_data', args=(pk,)))
    else:
        form = FeatureForm(mt=seq.moltype)
    return render(request, 'sequencelistings/edit_feature.html', {'form': featureForm, 'seq': seq})
Example #7
0
def create():
    """
    create a feature request
    """
    form = FeatureForm()
    if form.validate_on_submit():

        feature = Feature(
            title=form.title.data,
            description=form.description.data,
            client_priority=form.client_priority.data,
            target_date=form.target_date.data,
            product_area_id=form.product_area.data,
            client_id=form.client.data,
            project_id=form.project.data,
            user_id=current_user._get_current_object().id,
        )

        # reorder
        arr = \
            Feature.query.filter(Feature.project_id == feature.project_id) \
                         .filter(Feature.client_id == form.client.data) \
                         .order_by(Feature.client_priority).all()
        reorder(arr, form.client_priority.data)
        try:
            db.session.add(feature)
            db.session.commit()
            log = Log(username=current_user._get_current_object().username,
                      feature=feature,
                      action="created",
                      timestamp=datetime.utcnow())
            db.session.add(log)
            db.session.commit()
            flash('You have successfully created the Feature Request.')
        except:
            flash('Error: failed to create the Feature Request.')

        return redirect(url_for('.index'))
    form.user.data = current_user._get_current_object().id
    return render_template('hrequests/create.html', form=form)
Example #8
0
def edit_feature(request, pk, spk, fpk):
    seq = Sequence.objects.get(pk=spk)
    f = Feature.objects.all().get(pk=fpk)

    featureForm = FeatureForm(instance=f,
                              mt=seq.moltype,
                              initial={'featureKey': f.featureKey})

    if request.method == 'POST':
        form = FeatureForm(request.POST, mt=seq.moltype)

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

            f.featureKey = cd['featureKey']
            f.location = cd['location']
            f.save()
            return HttpResponseRedirect(
                reverse('sequencelistings:edit_seql', args=(pk, )))
    else:
        form = FeatureForm(mt=seq.moltype)  #not used?...
    return render(request, 'sequencelistings/edit_feature.html', {
        'form': featureForm,
        'seq': seq
    })
Example #9
0
def feature_form(request, shortcode, feature_pk=None):
    user_account = get_object_or_404(request.user.accounts.all(),
                                     account__shortcode=shortcode)
    account = user_account.account

    if feature_pk:
        feature = get_object_or_404(account.features.all(), pk=feature_pk)
    else:
        feature = None

    if request.method == "POST":
        form = FeatureForm(request.POST, instance=feature)

        if form.is_valid():
            feature = form.save(commit=False)
            feature.account = account
            feature.save()

            return HttpResponseRedirect(
                reverse("account_view", args=(shortcode, )))
    else:
        form = FeatureForm(instance=feature)

    return render(request, "feature_form.html", {
        "form": form,
        "feature": feature,
        "account": account
    })
Example #10
0
def predict_model():
    if current_user.right != '1':
        return render_template('patient_error.html')
    form = FeatureForm()

    label = form.f1.data + form.f2.data + form.f3.data
    new_data = PredictData(f1=form.f1.data,
                           f2=form.f2.data,
                           f3=form.f3.data,
                           label=label)
    db.session.add(new_data)
    db.session.commit()
    form.label.data = label
    return render_template("predict.html", form=form)
Example #11
0
def add_feature(request, pk, spk):
    seq = Sequence.objects.get(pk=spk)

    if request.method == 'POST':
        form = FeatureForm(request.POST, mt=seq.moltype)

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

            fk = cd['featureKey']
            fl = cd['location']
            f = Feature.objects.create(sequence=seq,
                                       featureKey=fk,
                                       location=fl)
            f.save()
            return HttpResponseRedirect(
                reverse('sequencelistings:edit_seql', args=(pk, )))
    else:
        form = FeatureForm(mt=seq.moltype)
    return render(request, 'sequencelistings/add_feature.html', {
        'form': form,
        'seq': seq
    })
Example #12
0
def addfeature():
    form = FeatureForm()
    if form.validate_on_submit():
        feature = Feature()
        feature._name = form.name.data
        feature._state_us = form.stateUs.data
        feature._state_en = form.stateEn.data
        feature._state_de = form.stateDe.data
        feature._state_cl = form.stateCl.data
        feature._state_fi = form.stateFi.data
        feature._state_it = form.stateIt.data
        feature._state_jp = form.stateJp.data
        feature._state_es = form.stateEs.data
        feature._state_ru = form.stateRu.data
        feature._state_fr = form.stateFr.data

        #insert val in new feature
        feature.commit()

        flash('New feature successfuly created added.')

        return redirect(url_for('managefeature'))

    return render_template('addEditFeature.html', form=form, type="create")
Example #13
0
def predict():
    if current_user.right != '1':
        return render_template('patient_error.html')
    form = FeatureForm()
    return render_template("predict.html", form=form)