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')
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
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)
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)
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])
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')
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')
def search(id): return render_template('search.html', search_results = data.retrieve_projects(search=str(id), search_fields=[None])[1])
def list(): return render_template('list.html', projects = data.retrieve_projects()[1])
#! /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',
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
#! /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',
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"])