Пример #1
0
def extract_genes(pmid):
    log_it_info('extract_genes', 'BEGIN', str(pmid))
    try:
        check_for_other_users(current_user.name)
        words = model.execute(find_genes_in_abstract(pmid), current_user.name) 
        feature_name_words = words['features'].keys()
        alias_name_words = words['aliases'].keys()
        
        message = 'No genes found.'
        feature_message = words['feature_message']
        alias_message = words['alias_message']
        
        if feature_message != '' and alias_message != '':
            message = feature_message + ', ' + alias_message
        elif feature_message != '':
            message = feature_message
        elif alias_message != '':
            message = alias_message
        
        log_it_info('extract_genes', 'SUCCESS')    
        return_value = json.dumps({'message':message, 'highlight_red':list(alias_name_words), 'highlight_blue':list(feature_name_words)})
        return return_value 
    except Exception as e:
        flash(e.message, 'error')
        log_it_info('extract_genes', 'FAILURE')
        logging.error(e.message)
    return 'Error.'
Пример #2
0
def logout():
    log_it_info('logout', 'BEGIN')
    try:
        current_user.logout()
        logged_out = logout_lit_review_user()
        if not logged_out:
            raise LogoutException('Logout unsuccessful. Reason unknown.')
        
        #Logout successful
        flash('Logged out.', 'login')   
        log_it_info('logout', 'SUCCESS')
    except Exception as e:
        flash(e.message, 'error')
        log_it_info('logout', 'FAILURE')
        logging.error(e.message)
        
    return redirect(url_for("index"))
Пример #3
0
def discard_ref(pmid):
    log_it_info('discard_ref', 'BEGIN', str(pmid))
    response = ""
    try:
        check_for_other_users(current_user.name)
        #if request.method == "POST":
        moved = model.execute(move_reftemp_to_refbad(pmid), current_user.name, commit=True)
        if not moved:
            raise MoveRefException('An error occurred when deleting the reference for pmid=" + pmid + " from the database.')
            
        #Reference deleted
        response = "Reference for pmid=" + pmid + " has been removed from the database."
        log_it_info('discard_ref', 'SUCCESS')
    except Exception as e:
        response = "Error:<br>" + e.message
        log_it_info('discard_ref', 'FAILURE')
        logging.error(e.message)
    return response
Пример #4
0
def remove_multiple(pmids):
    log_it_info('remove_multiple', 'BEGIN', str(pmids))
    try:
        check_for_other_users(current_user.name)
        if request.method == "POST":
            to_be_removed = pmids.split('_')
            to_be_removed.remove('')

            for pmid in to_be_removed:
                moved = model.execute(move_reftemp_to_refbad(pmid), current_user.name, commit=True)
                if not moved:
                    raise MoveRefException('An error occurred when deleting the reference for pmid=" + pmid + " from the database.')
            
            #Reference deleted
            flash("References for pmids= " + str(to_be_removed) + " have been removed from the database.", 'success')
            log_it_info('remove_multiple', 'SUCCESS')
    except Exception as e:
        flash(e.message, 'error')
        log_it_info('remove_multiple', 'FAILURE')
        logging.error(e.message)
        
    return redirect(request.args.get("next") or url_for("reference")) 
Пример #5
0
def link_ref(pmid):
    log_it_info('link_ref', 'BEGIN', str(pmid))
    response = ""
    try:
        check_for_other_users(current_user.name)
        log_it('check_for_other_users', 'SUCCESS')
        
        #if request.method == "POST":
        tasks = check_form_validity_and_convert_to_tasks(request.form) 
        log_it('check_form_validity_and_convert_to_tasks', 'SUCCESS', str(tasks))

        model.execute(link_paper(pmid, tasks), current_user.name, commit=True)   
        log_it('link_paper', 'SUCCESS')
            
        #Link successful
        summary = model.execute(get_ref_summary(pmid), current_user.name)  
        response = summary
        log_it_info('link_ref', 'SUCCESS')
    except Exception as e: 
        response = "Error:<br>" + e.message;
        log_it_info('link_ref', 'FAILURE')
    return response
Пример #6
0
def login():
    log_it_info('login', 'BEGIN')
    form = LoginForm(request.form)
    try:
        if request.method == "POST" and form.validate():
            username = form.username.data.lower()
            password = form.password.data
            remember = False
            check_for_other_users(username)  
            logged_in = login_lit_review_user(username, password, model, remember)
            if not logged_in:
                raise LoginException('Login unsuccessful. Reason unknown.')
            
            #Login successful.
            flash("Logged in!", 'login')
            current_user.login()
            log_it_info('login', 'SUCCESS')
            return redirect(request.args.get("next") or url_for("index"))   
    except Exception as e:
        flash(e.message, 'error')
        log_it_info('login', 'FAILURE')
        logging.error(e.message)
        
    return render_template("login.html", form=form)