Example #1
0
def high_search(key):
    """

    :param key:
    :return:
    """
    # REVIEW:
    # The errors should throw a 404 or a 500.
    # Not die silently.
    try:

        selected = int(request.form['order'])
        for i in range(3):
            if i == selected:
                session['checked'][i] = 'checked="true"'
            else:
                session['checked'][i] = ''
        flag, page, docid = searchidlist(key, selected)
        session['s_flag'] = flag
        session['page'] = page
        session['doc_id'] = docid
        if flag == 0:
            return render_template('search.html', nonempty=False, welcome=False)
        docs = cut_page(page, 0)
        return render_template('high_search.html', checked=session['checked'], key=session['keys'], docs=docs, page=page,
                               nonempty=True, welcome=False)
    except:
        print('high search error')
Example #2
0
def high_search(key):
    """

    :param key:
    :return:
    """
    # REVIEW:
    # The errors should throw a 404 or a 500.
    # Not die silently.
    form_name = request.form.get("form_name")
    if form_name == "search_option":
        selected = int(request.form.get('order', 0))
        for i in range(3):
            if i == selected:
                session['checked'][i] = 'checked="true"'
            else:
                session['checked'][i] = ''
        flag, page, docid = searchidlist(key, selected)
        session['s_flag'] = flag
        session['page'] = page
        session['doc_id'] = docid
        if flag == 0:
            return error_page()
        docs = cut_page(page, 0, docid)
        return render_template('high_search.html',
                               checked=session['checked'],
                               key=session['keys'],
                               docs=docs,
                               page=page,
                               nonempty=True,
                               welcome=False,
                               browse_categories=browse_categories)
    else:
        print('high search error')
        return error_page()
Example #3
0
def next_page(page_no):
    """

    :param page_no:
    :return:
    """
    page, checked, docid = session['page'], session['checked'], session['doc_id']
    try:
        page_no = int(page_no)
        docs = cut_page(page, (page_no - 1), docid)
        return render_template('high_search.html', checked=checked, key=session['keys'], docs=docs, page=page,
                               nonempty=True, welcome=False, browse_categories=browse_categories)
    except:
        print('next error')
Example #4
0
def search():
    """
        Implements search functionality to find courses.
        Input: (via POST)
            - Form containing:
               * key_word

    :return:
        HTML template with the results.
    """
    # request.form = {"form_name": "hi"}
    form_name = request.form.get("form_name")
    if form_name == "search":
        checked = ['checked="true"', '', '']
        keys = request.form.get('key_word', "")
        category = request.form.get('search_field')
        print(
            "from search.controllers.search: category hasn't been added as a search option, will do later"
        )
        session['checked'] = checked
        session['keys'] = keys
    else:
        if session.get("checked") is None or session.get("keys") is None:
            print('unrecognized form named {}'.format(form_name))
            return error_page()
        else:
            checked = session['checked']
            keys = session['keys']

    if is_valid_keys(keys):
        flag, page, docid = searchidlist(keys)
        session['page'] = page
        session['s_flag'] = flag
        session['doc_id'] = docid

        if flag == 0: return error_page()

        docs = cut_page(page, 0, docid)

        return render_template('high_search.html',
                               checked=checked,
                               key=keys,
                               docs=docs,
                               page=page,
                               nonempty=True,
                               welcome=False,
                               browse_categories=browse_categories)
    else:
        return redirect(url_for('main'))
Example #5
0
def search():
    """
    Implements search functionality to find courses.
    Input: (via POST)
        - Form containing:
            * key_word

    :return:
        HTML template with the results.
    """

    try:
        checked = ['checked="true"', '', '']
        keys = request.form['key_word']
        category = request.form['search_field']
        session['checked'] = checked
        session['keys'] = keys

        if keys not in ['']:
            flag, page, docid = searchidlist(keys)
            session['page'] = page
            session['s_flag'] = flag
            session['doc_id'] = docid

            if flag == 0:
                return render_template('search.html', nonempty=False, welcome=False,
                                       browse_categories=browse_categories)

            docs = cut_page(page, 0, docid)

            docs_concept = find_concept([keys.replace(" ", "_")], extra=True)
            if docs_concept:
                        docs_concept = docs_concept[0]
                        docs_concept["concept_name"] = docs_concept["concept_name"].title()
                        show_concept = True
            else:
                        show_concept = False

            return render_template('high_search.html', checked=checked, key=keys, docs=docs,concept=docs_concept, page=page,
                                   nonempty=True, welcome=False,showconcept = show_concept, browse_categories=browse_categories)
        else:
            return render_template('search.html', nonempty=False, welcome=True, browse_categories=browse_categories)

    except Exception as e:
        print('search error')
        print(e)
        return render_template('search.html', nonempty=False, welcome=True, browse_categories=browse_categories)