Exemple #1
0
def project(id):
    data.init()
    id = id.encode('utf-8')
    log('Displaying project ' + str(id))
    project = data.retrieve_projects(search = str(id), search_fields = ['project_no'])[1]
    if project == []:
        return render_template('no_result.html')
    
    return render_template('project.html', project = data.retrieve_projects(search = str(id), search_fields = ['project_no'])[1])
def index(id=None):
    data.init()

    #default template
    template = kid.Template(name=os.path.basename(__file__)[:-3],
                            title=get_text('sitename') + '-' +
                            get_text(os.path.basename(__file__)[:-3]),
                            projects=[],
                            headline=get_text(os.path.basename(__file__)[:-3]),
                            project_not_found=u'Databasen är inte tillgänglig',
                            **common_language[DEFAULT_LANGUAGE])

    if id == None:
        projects = data.retrieve_projects(sort_order='desc')

        if projects[0] == 0:
            template = kid.Template(name=os.path.basename(__file__)[:-3],
                                    title=get_text('sitename') + '-' +
                                    get_text(os.path.basename(__file__)[:-3]),
                                    projects=projects[1],
                                    headline=get_text(
                                        os.path.basename(__file__)[:-3]),
                                    project_not_found='',
                                    **common_language[DEFAULT_LANGUAGE])

    # Find project by id
    else:
        project = data.lookup_project(id)
        # Project not found
        if project[0] == 2:
            projects = data.retrieve_projects(sort_order='desc')

            if projects[0] == 0:
                template = kid.Template(
                    name=os.path.basename(__file__)[:-3],
                    title=get_text('sitename') + '-' +
                    get_text('project_not_found'),
                    projects=projects[1],
                    headline=get_text(os.path.basename(__file__)[:-3]),
                    project_not_found=get_text('project_not_found'),
                    **common_language[DEFAULT_LANGUAGE])
        # Show project by id
        else:
            project = data.retrieve_projects(search=id,
                                             search_fields=['project_no'])
            project[1][0]['techniques_used'] = ", ".join(
                project[1][0]['techniques_used'])
            template = kid.Template(
                name='projectsbyid',
                title=get_text('sitename') + '-' + get_text('projects') +
                ": " + project[1][0]['project_name'],
                headline=project[1][0]['project_name'],
                **dict(project[1][0], **common_language[DEFAULT_LANGUAGE]))

    template.cache = False

    return template.serialize(output='xhtml-strict')
def index(id=None):
    data.init()

    #default template
    template = kid.Template(name=os.path.basename(__file__)[:-3], 
                                title=get_text('sitename') + '-' + get_text(os.path.basename(__file__)[:-3]), 
                                projects=[],
                                headline=get_text(os.path.basename(__file__)[:-3]),
                                project_not_found=u'Databasen är inte tillgänglig',
                                **common_language[DEFAULT_LANGUAGE])

    if id == None:
        projects = data.retrieve_projects(sort_order='desc');
    
        if projects[0] == 0:
            template = kid.Template(name=os.path.basename(__file__)[:-3], 
                                title=get_text('sitename') + '-' + get_text(os.path.basename(__file__)[:-3]), 
                                projects=projects[1],
                                headline=get_text(os.path.basename(__file__)[:-3]),
                                project_not_found='',
                                **common_language[DEFAULT_LANGUAGE])

    # Find project by id
    else:
        project = data.lookup_project(id)
        # Project not found
        if project[0] == 2:
            projects = data.retrieve_projects(sort_order='desc');
            
            if projects[0] == 0:
                template = kid.Template(name=os.path.basename(__file__)[:-3],
                                        title=get_text('sitename') + '-' + get_text('project_not_found'),
                                        projects=projects[1],
                                        headline=get_text(os.path.basename(__file__)[:-3]),
                                        project_not_found=get_text('project_not_found'),
                                        **common_language[DEFAULT_LANGUAGE])
        # Show project by id
        else:
            project = data.retrieve_projects(search=id,search_fields=['project_no']);
            project[1][0]['techniques_used'] = ", ".join(project[1][0]['techniques_used'])
            template = kid.Template(name='projectsbyid', 
                                    title=get_text('sitename') + 
                                    '-' + 
                                    get_text('projects') + 
                                    ": " +
                                    project[1][0]['project_name'],
                                    headline=project[1][0]['project_name'],
                                    **dict(project[1][0],**common_language[DEFAULT_LANGUAGE]))
    
    template.cache = False

    return template.serialize(output='xhtml-strict')
Exemple #4
0
def search():
    reload_init()
    logger("###Visited project list")
    result = []                             #clear results
    form_techniques_used = []
    form_search_fields = [] 
    adv_search_string = request.args.get('adv_search')
    search_string = request.args.get('search')
    form_sort_by = request.args.get('sort_by')
    form_sort_order = request.args.get('sort_order')

    # ^ inserts information from THEform into lists

    if not request.args.get('sort_by'):         #if input is None, default values will be set
        form_sort_by = 'start_date'

    if not request.args.get('sort_order'):       #if input is None, default values will be set
        form_sort_order = 'asc'

    for tech in data.create_tech_list():            #adds matching techniques
        if request.args.get(tech):
            form_techniques_used.append(request.args.get(tech))

    if not form_techniques_used:                     #if input is empty list, default value None will be set
        form_techniques_used = None 
    

    if request.args.get('project_name'):            #adds matching project name
        form_search_fields.append(request.args.get('project_name'))

    if request.args.get('course_name'):             #^course name
        form_search_fields.append(request.args.get('course_name'))

    if not request.args.get('project_name') and not request.args.get('course_name'):         #if input is None, default values will be set
        form_search_fields = ['project_name', 'course_name']

    if adv_search_string:       #converts search string to ascii if it exists
        adv_search_string = adv_search_string.encode('utf-8')
    
        result = data.retrieve_projects(sort_by=form_sort_by, sort_order=form_sort_order, techniques=form_techniques_used, search=adv_search_string, search_fields=form_search_fields)[1]       #sets result with included search string

    else:
        result = data.retrieve_projects(techniques=form_techniques_used, sort_order=form_sort_order, sort_by=form_sort_by)[1]       #sets result without search string
    logger('###Searched for ' + str(adv_search_string))     #sends msg to log with search string, can be None

    if not result:
        logger('###Search was unsuccessful')        #if on match, send other log message 
        result = 'No matching projects'                 #user message if no match

    return render_template('search.html', search = result, tech_list = data.create_tech_list())     #renders page with search result in variable search
Exemple #5
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)
Exemple #6
0
def page_list():
    data.init()
    _highlight = None

    if request.method == "POST":

        _sort_by = "start_date"
        
        if request.form["sort_button"] == "Name":
            _sort_by = "project_name"
            _highlight = "name"
        elif request.form["sort_button"] == "ID":
            _sort_by = "project_no"
            _highlight = "id"
        elif request.form["sort_button"] == "Top projects":
            _sort_by = "lulz_had"
            _highlight = "top"

        _data = data.retrieve_projects(sort_by=_sort_by, search_fields=[_sort_by])[1]
    else:
        _data = data._data
        _highlight = None

    data_error = data._error_meaning[data._error_code]
    return render_template("list.html", _db_data=_data, _form_highlight = _highlight,data_error=data_error)
Exemple #7
0
def list():
    data.init()
    log('Searching for a project')
    searchStr = request.args.get('search')
    sorting = request.args.get('sort')
    cats = request.args.getlist('categories')
    by_sorting = request.args.get('by_sort')
    technique = request.args.getlist('check_tech')

    if searchStr != None:
        searchStr = searchStr.encode('utf-8')
    if by_sorting == None:
        by_sorting = 'project_name'

    proj_hit = data.retrieve_projects(search = searchStr, search_fields = cats, techniques = technique, sort_order = sorting, sort_by = by_sorting)[1]

    if len(proj_hit) == 0:
        return render_template('list.html', fail = 'No project found')

    return render_template('list.html', proj_hit = data.retrieve_projects(search = searchStr, search_fields = cats, techniques = technique, sort_order = sorting, sort_by = by_sorting)[1])
Exemple #8
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')
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')
Exemple #10
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')
Exemple #11
0
def search(id):
    return render_template('search.html', search_results = data.retrieve_projects(search=str(id), search_fields=[None])[1])
Exemple #12
0
def list():
    return render_template('list.html', projects = data.retrieve_projects()[1])
Exemple #13
0
#! /usr/bin/env python
# -*- coding: utf-8 -*-

"""
Filename:   config.py
Authors:    Han Lin Yap and Alexander Östman
Course:     TDP003 - Projekt: Egna datormiljön
Date:       HT09   - 2009-10-07
Program:    LiU/IP1
Desciption: This is the configuaration file for languages. 
"""

import data

data.init()
projects = data.retrieve_projects()

# Available values: sv
DEFAULT_LANGUAGE = 'sv'

# Language translation in kid-templates
common_language = {'sv':
                {'sitename':'Portfolio',
                 'startpage':'Startsida',
                 'project':'Projekt',
                 'techniques':'Tekniker',
                 'search':u'Sök',
                 'latest_projects':'Senaste projekt',
                 'search_word':u'Sökord',
                 'sort_by':'Sortera efter',
                 'standard':'Standard',
Exemple #14
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
Exemple #15
0
#! /usr/bin/env python
# -*- coding: utf-8 -*-
"""
Filename:   config.py
Authors:    Han Lin Yap and Alexander Östman
Course:     TDP003 - Projekt: Egna datormiljön
Date:       HT09   - 2009-10-07
Program:    LiU/IP1
Desciption: This is the configuaration file for languages. 
"""

import data

data.init()
projects = data.retrieve_projects()

# Available values: sv
DEFAULT_LANGUAGE = 'sv'

# Language translation in kid-templates
common_language = {
    'sv': {
        'sitename': 'Portfolio',
        'startpage': 'Startsida',
        'project': 'Projekt',
        'techniques': 'Tekniker',
        'search': u'Sök',
        'latest_projects': 'Senaste projekt',
        'search_word': u'Sökord',
        'sort_by': 'Sortera efter',
        'standard': 'Standard',
Exemple #16
0
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
assert result[0][u'project_no'] == 2
assert result[1][u'project_no'] == 3
assert result[2][u'project_no'] == 1

errcode, result = data.retrieve_projects(sort_by="end_date", search="okänt", search_fields=["project_no","project_name","course_name"])