Esempio n. 1
0
def page_search():
    data.init()

    # keys is for the checkboxes
    keys = data._data[0].keys()

    techs = data.retrieve_techniques()[1]
    error = ""
    sstring = ""
    
    _search = {"sort_by": "", "sort_order": "", "techniques": [], "search": "", "search_fields": []}

    if request.method == "POST":
        _search["sort_by"] = request.form["sort_category"]
        _search["sort_order"] = str(request.form["sort_order"])
        _search["techniques"] = request.form.getlist("search_techniques")
        _search["search"] = request.form["search_string"]
        _search["search_fields"] = request.form.getlist("search_categories")

        if len(_search["search_fields"]) == 0:
            _search["search_fields"] = keys

        sstring = data.retrieve_projects(sort_by=_search["sort_by"], sort_order=_search["sort_order"], techniques=_search["techniques"], search=_search["search"], search_fields=_search["search_fields"])

    if sstring == None:
        sstring = ""

    data_error = data._error_meaning[data._error_code]
    return render_template("search.html", _search_result = sstring, keys=keys, techs=techs, error=error, data_error=data_error, _asd=_search)
Esempio n. 2
0
def index():
    technique_stats = data.retrieve_technique_stats()[1]
    techniques = data.retrieve_techniques()[1]
    template = kid.Template(file=os.path.dirname(__file__) + os.sep + 'templates' + os.sep + 'techniques', technique_stats=technique_stats, techniques=techniques, cache=0) 
    template.cache = False
    site.cache = False
    return template.serialize(output='xhtml-strict')
Esempio n. 3
0
def index(sort_by='start_date', sort_order='asc', techniques=None, search=None, search_fields=None):
    '''
    Save results of functions from our data module into variables 
    and send it to our kid template 
    '''

    project_count = data.project_count()[1]
    projects = data.retrieve_projects(sort_by, sort_order, techniques, search, search_fields)[1]
    techniques = data.retrieve_techniques()[1]
    template = kid.Template(file=os.path.dirname(__file__) + os.sep + 'templates' + os.sep + 'list', cache=0, projects=projects, project_count=project_count, techniques=techniques, cache=0) 
    template.cache = False
    site.cache = False
    return template.serialize(output='xhtml-strict')
Esempio n. 4
0
def index(sort_by='start_date',
          sort_order='asc',
          techniques=None,
          search=None,
          search_fields=None):

    #default template
    template = kid.Template(
        name=os.path.basename(__file__)[:-3],
        title=get_text('sitename') + '-' +
        get_text(os.path.basename(__file__)[:-3]),
        results=[],
        techs=[],
        search_fields=[],
        translate_field=[],
        headline=get_text(os.path.basename(__file__)[:-3]),
        project_not_found=get_text('database_not_available'),
        **common_language[DEFAULT_LANGUAGE])

    if techniques == '':
        techniques = None
    if search_fields == '':
        search_fields = None
    if type(search_fields) != type([]) and search_fields != None:
        search_fields = [search_fields]

    data.init()
    # search projects
    results = data.retrieve_projects(sort_by, sort_order, techniques, search,
                                     search_fields)

    # Projects found
    if results[0] == 0:
        techniques = data.retrieve_techniques()

        template = kid.Template(
            name=os.path.basename(__file__)[:-3],
            title=get_text('sitename') + ' - ' + get_text('search'),
            headline=get_text(os.path.basename(__file__)[:-3]),
            results=results[1],
            techs=techniques[1],
            search_fields=data.data[0].keys(),
            translate_field=field_language[DEFAULT_LANGUAGE],
            project_not_found='',
            **common_language[DEFAULT_LANGUAGE])
    template.cache = False

    return template.serialize(output='xhtml-strict')
Esempio n. 5
0
def index(sort_by='start_date', sort_order='asc', techniques=None, search=None, search_fields=None):

    #default template
    template = kid.Template(name=os.path.basename(__file__)[:-3], 
                            title=get_text('sitename') + '-' + get_text(os.path.basename(__file__)[:-3]), 
                            results=[],
                            techs=[],
                            search_fields=[],
                            translate_field=[],
                            headline=get_text(os.path.basename(__file__)[:-3]),
                            project_not_found=get_text('database_not_available'),
                            **common_language[DEFAULT_LANGUAGE])

    if techniques == '':
        techniques = None
    if search_fields == '':
        search_fields = None
    if type(search_fields) != type([]) and search_fields != None:
        search_fields = [search_fields]

    data.init()
    # search projects
    results = data.retrieve_projects(sort_by, sort_order, techniques, search, search_fields)
    
    # Projects found
    if results[0] == 0:
        techniques = data.retrieve_techniques()

        template = kid.Template(name=os.path.basename(__file__)[:-3], 
                                title=get_text('sitename') + ' - ' + get_text('search'),
                                headline=get_text(os.path.basename(__file__)[:-3]),
                                results=results[1],
                                techs=techniques[1],
                                search_fields=data.data[0].keys(),
                                translate_field=field_language[DEFAULT_LANGUAGE],
                                project_not_found='', 
                                **common_language[DEFAULT_LANGUAGE])
    template.cache = False

    return template.serialize(output='xhtml-strict')
Esempio n. 6
0
def techniques():
    return render_template('techniques.html', techniques = data.retrieve_techniques()[1])
Esempio n. 7
0
def techniques():                       #opens techniques page
    reload_init()
    logger('###Techniques page visited')
    return render_template('techniques.html', techniques = data.retrieve_techniques()[1], tech_stats = data.retrieve_technique_stats()[1], descr = data.retrieve_projects()[1])         #renders techniques.html and gives it the variables 'techniques' and 'tech_stats' from the data.py file
Esempio n. 8
0
assert result[u'lulz_had'] == u'over 9000'

errcode, result = data.lookup_project(2)
WORKED(errcode)
assert result[u'project_name'] == u'2007'

errcode, result = data.lookup_project(3)
WORKED(errcode)
assert result[u'lulz_had'] == u'few'
assert result[u'techniques_used'] == [u'c++', u'csv', u'python']

errcode, result = data.lookup_project(9000)
assert errcode == 2
assert result == None

errcode, result = data.retrieve_techniques()
WORKED(errcode)
assert len(result) == 4
assert result == [u'ada', u'c++', u'csv', u'python']

errcode, result = data.retrieve_projects()
WORKED(errcode)
assert len(result) == 4

errcode, result = data.retrieve_projects(techniques=["csv"])
WORKED(errcode)
assert len(result) == 1

errcode, result = data.retrieve_projects(sort_order='desc',techniques=["python"])
WORKED(errcode)
assert len(result) == 3