Feature Complete

This commit is contained in:
darthsandmann
2016-12-14 22:32:35 +01:00
parent 08eb4edae5
commit aa300044f6
18 changed files with 559 additions and 468 deletions

View File

@ -1,332 +0,0 @@
import json
import cherrypy
from app import database
from app import view
#----------------------------------------------------------
class Application_cl(object):
#----------------------------------------------------------
exposed = True
#----------------------------------------------------------
def __init__(self):
#----------------------------------------------------------
self.db_o = database.Database_cl()
self.view_o = view.View_cl()
#----------------------------------------------------------
def GET(self, cat=None, id=None):
#----------------------------------------------------------
return json.dumps(retVal)
#----------------------------------------------------------
def PUT(self, **data):
#----------------------------------------------------------
return json.dumps(retVal)
#----------------------------------------------------------
def POST(self, cat, id, **data_opl):
#----------------------------------------------------------
return json.dumps(retVal)
#----------------------------------------------------------
def DELETE(self, cat, id):
#----------------------------------------------------------
return json.dumps(retVal)
#----------------------------------------------------------
def default(self, *arguments, **kwargs):
#----------------------------------------------------------
msg_s = "unbekannte Anforderung: " + \
str(arguments) + \
' ' + \
str(kwargs)
raise cherrypy.HTTPError(404, msg_s)
# /* import cherrypy
# from .database import Database_cl
# from .view import View_cl
# import collections
# orderedDict = collections.OrderedDict()
# from collections import OrderedDict
# #----------------------------------------------------------
# class Application_cl(object):
# #----------------------------------------------------------
# #-------------------------------------------------------
# # Request Processing
# #-------------------------------------------------------
# #-------------------------------------------------------
# def __init__(self):
# #-------------------------------------------------------
# # spezielle Initialisierung können hier eingetragen werden
# self.db = Database_cl()
# self.view = View_cl()
# @cherrypy.expose
# #-------------------------------------------------------
# def index(self):
# #-------------------------------------------------------
# print("Index\n")
# return self.GenerateIndex()
# @cherrypy.expose
# #-------------------------------------------------------
# def category(self, cat=None):
# #-------------------------------------------------------
# print("Category: ", cat, "\n")
# if(cat==None):
# return self.GenerateIndex()
# else:
# return self.GenerateList(cat)
# @cherrypy.expose
# #-------------------------------------------------------
# def choice(self):
# #-------------------------------------------------------
# print("Choice \n")
# return self.GenerateListChoice()
# @cherrypy.expose
# #-------------------------------------------------------
# def eval(self, cat):
# #-------------------------------------------------------
# print("Eval \n")
# self.db.CheckDates()
# return self.GenerateListEval(cat)
# @cherrypy.expose
# #-------------------------------------------------------
# def detail(self, cat=None, id=None):
# #-------------------------------------------------------
# if(cat!=None):
# if(id!=None):
# print("Cat=", cat, " id=", id)
# return self.GenerateDetail(cat, id)
# else:
# print("ID=None Cat=", cat)
# return self.GenerateDetail(cat)
# else:
# return self.GenerateIndex()
# @cherrypy.expose
# #-------------------------------------------------------
# def detailchoice(self, id):
# #-------------------------------------------------------
# print("id=", id)
# return self.GenerateDetailChoice(id)
# @cherrypy.expose
# #-------------------------------------------------------
# def save(self, cat=None, **data):
# #-------------------------------------------------------
# print("Save: ", cat)
# dataTmp = data
# return self.GenerateSave(dataTmp, cat)
# @cherrypy.expose
# #-------------------------------------------------------
# def saveChoice(self, **data):
# #-------------------------------------------------------
# print("Save: Choice")
# dataTmp = data
# return self.GenerateSaveChoice(dataTmp)
# @cherrypy.expose
# #-------------------------------------------------------
# def delete(self, cat=None, id=None):
# #-------------------------------------------------------
# print("Delete",cat,id)
# return self.GenerateDelete(cat, id)
# @cherrypy.expose
# #-------------------------------------------------------
# def default(self, *arguments, **kwargs):
# #-------------------------------------------------------
# msg_s = "unbekannte Anforderung: " + \
# str(arguments) + \
# ''+ \
# str(kwargs)
# raise cherrypy.HTTPError(404, msg_s)
# default.exposed= True
# #-------------------------------------------------------
# # Functions
# #-------------------------------------------------------
# #-------------------------------------------------------
# def GenerateIndex(self):
# #-------------------------------------------------------
# return self.view.CreateIndex()
# #-------------------------------------------------------
# def GenerateList(self, category):
# #-------------------------------------------------------
# self.db.ReadAll()
# data = {}
# data['content'] = {}
# data['headings'] = {}
# data['category'] = category
# data['content'] = self.db.data[category]
# if(len(data['content']) != 0):
# print(len(data['content']))
# contentFirst = list(data['content'].keys())[0]
# data['headings'] = list(data['content'][contentFirst].keys())
# print(data)
# return self.view.CreateList(data)
# #-------------------------------------------------------
# def GenerateListChoice(self):
# #-------------------------------------------------------
# self.db.ReadAll()
# data = {}
# data['content'] = {}
# offerings = self.db.data['Angebote']
# for key, value in offerings.items():
# for key2, value2 in value.items():
# if(key2 == 'Status'):
# if(value2 == 'Angebot'):
# data['content'][key] = value
# print(data)
# return self.view.CreateListChoice(data)
# #-------------------------------------------------------
# def GenerateDetail(self, category, id=None):
# #-------------------------------------------------------
# self.db.ReadAll()
# data = {}
# data['category'] = category
# print("Detail",category,id)
# if(id != None):
# data['id'] = id
# data['content'] = self.db.ReadEntry(category, id)
# else:
# data['id'] = None
# data['content'] = self.db.GetDefault(category)
# print(data['content'])
# if(category == 'Angebote'):
# print("Angebote")
# data['Firmen'] = self.db.data['Firmen']
# print(data, "\n")
# return self.view.CreateDetail(data)
# #-------------------------------------------------------
# def GenerateDetailChoice(self, id):
# #-------------------------------------------------------
# self.db.ReadAll()
# data = {}
# data['id'] = id
# data = self.db.data['Angebote'][id]
# data['Studenten'] = self.db.data['Studenten']
# data['Lehrender'] = self.db.data['Lehrender']
# print(data, "\n")
# return self.view.CreateDetailChoice(data)
# #-------------------------------------------------------
# def GenerateListEval(self, cat):
# #-------------------------------------------------------
# self.db.ReadAll()
# data = {}
# Studenten = self.db.data['Studenten']
# Lehrender = self.db.data['Lehrender']
# Firmen = self.db.data['Firmen']
# Angebote = self.db.data['Angebote']
# data['category'] = cat
# if(cat == 'Firmen'):
# for keyFirma, valueFirma in sorted(Firmen.items()):
# data[valueFirma['Name']] = {}
# data[valueFirma['Name']]['Name'] = valueFirma['Name']
# data[valueFirma['Name']]['Angebote'] = {}
# data[valueFirma['Name']]['Angebote']['Angebot'] = {}
# data[valueFirma['Name']]['Angebote']['aktuell'] = {}
# data[valueFirma['Name']]['Angebote']['abgeschlossen'] = {}
# for keyAngebote, valueAngebote in Angebote.items():
# if(valueAngebote['Firma'] == valueFirma['Name']):
# data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']] = {}
# data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['Name'] = valueAngebote['Name']
# if(valueAngebote['Student'] != ''):
# data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['Student'] = Studenten[valueAngebote['Student']]['Name']
# else:
# data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['Student'] = ''
# if(valueAngebote['Lehrender'] != ''):
# data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['Lehrender'] = Lehrender[valueAngebote['Lehrender']]['Name']
# else:
# data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['Lehrender'] = ''
# data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['ZeitraumVon'] = valueAngebote['ZeitraumVon']
# data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['ZeitraumBis'] = valueAngebote['ZeitraumBis']
# print(data)
# return self.view.CreateListEval(data)
# elif(cat == 'Studenten'):
# for keyStudent, valueStudent in Studenten.items():
# data[valueStudent['Name']] = {}
# data[valueStudent['Name']]['Angebote'] = {}
# data[valueStudent['Name']]['Angebote']['Angebot'] = {}
# data[valueStudent['Name']]['Angebote']['aktuell'] = {}
# data[valueStudent['Name']]['Angebote']['abgeschlossen'] = {}
# for keyAngebot, valueAngebot in Angebote.items():
# if(valueAngebot['Student'] == valueStudent['id']):
# data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot] = {}
# data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Lehrender'] = Lehrender[valueAngebot['Lehrender']]['Name']
# data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Status'] = valueAngebot['Status']
# data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Praxisphase'] = valueAngebot['Name']
# data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Firma'] = valueAngebot['Firma']
# data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['ZeitraumVon'] = valueAngebot['ZeitraumVon']
# data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['ZeitraumBis'] = valueAngebot['ZeitraumBis']
# elif(cat == 'Lehrender'):
# for keyLehrende, valueLehrende in Lehrender.items():
# data[valueLehrende['Name']] = {}
# data[valueLehrende['Name']]['Angebote'] = {}
# data[valueLehrende['Name']]['Angebote']['Angebot'] = {}
# data[valueLehrende['Name']]['Angebote']['aktuell'] = {}
# data[valueLehrende['Name']]['Angebote']['abgeschlossen'] = {}
# for keyAngebot, valueAngebot in Angebote.items():
# if(valueAngebot['Lehrender'] == valueLehrende['id']):
# data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot] = {}
# data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Student'] = Studenten[valueAngebot['Student']]['Name']
# data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Status'] = valueAngebot['Status']
# data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Praxisphase'] = valueAngebot['Name']
# data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Firma'] = valueAngebot['Firma']
# data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['ZeitraumVon'] = valueAngebot['ZeitraumVon']
# data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['ZeitraumBis'] = valueAngebot['ZeitraumBis']
# return self.view.CreateListEval(data)
# #-------------------------------------------------------
# def GenerateSave(self, dataTmp, category):
# #-------------------------------------------------------
# if(category == None):
# return self.view.CreateIndex()
# else:
# self.db.Save(dataTmp, category)
# return self.GenerateList(category)
# #-------------------------------------------------------
# def GenerateSaveChoice(self, dataTmp):
# #-------------------------------------------------------
# if(dataTmp['Student'] != ''):
# angebote = self.db.CheckOfferings(dataTmp['Student'])
# print(angebote)
# if(angebote == 0):
# print("Save")
# self.db.Save(dataTmp, 'Angebote')
# return self.GenerateListChoice()
# #-------------------------------------------------------
# def GenerateDelete(self, category, id):
# #-------------------------------------------------------
# if(category == None or id == None):
# return self.view.CreateIndex()
# else:
# self.db.Delete(category, id)
# return self.GenerateList(category)
# #EOF

View File

@ -16,16 +16,34 @@ class Choice(object):
self.db = database.Database()
#-------------------------------------------------------
def GET(self):
def GET(self, view, id=None):
#-------------------------------------------------------
self.db.ReadAll()
data = {}
data['content'] = {}
offerings = self.db.data['Angebote']
for key, value in offerings.items():
for key2, value2 in value.items():
if(key2 == 'Status'):
if(value2 == 'Angebot'):
data['content'][key] = value
if(view == "List"):
data['content'] = {}
offerings = self.db.data['Angebote']
for key, value in offerings.items():
for key2, value2 in value.items():
if(key2 == 'Status'):
if(value2 == 'Angebot'):
data['content'][key] = value
elif(view == "Detail"):
data['id'] = id
data = self.db.data['Angebote'][id]
data['Studenten'] = self.db.data['Studenten']
data['Lehrender'] = self.db.data['Lehrender']
print(data)
return json.dumps(data)
#-------------------------------------------------------
def POST(self, **data):
#-------------------------------------------------------
if(data['Student'] != ''):
angebote = self.db.CheckOfferings(data['Student'])
print(angebote)
if(angebote == 0):
print("Save")
self.db.Save(data, 'Angebote')
print(data)
return self.GET("List")

View File

@ -1,52 +0,0 @@
# import os.path
# from mako.template import Template
# from mako.lookup import TemplateLookup
# #----------------------------------------------------------
# class View_cl(object):
# #----------------------------------------------------------
# #-------------------------------------------------------
# def __init__(self):
# #-------------------------------------------------------
# self.path = 'templates'
# self.lookup = TemplateLookup(directories=['/'])
# #-------------------------------------------------------
# def Create(self, template, data):
# #-------------------------------------------------------
# print("CreateView\n")
# template = Template(filename=os.path.join(self.path, template), output_encoding='utf-8', lookup=self.lookup)
# return template.render(data = data)
# #-------------------------------------------------------
# def CreateIndex(self):
# #-------------------------------------------------------
# print("CreateIndex\n")
# data = None
# return self.Create('index.tpl', data)
# #-------------------------------------------------------
# def CreateList(self, data):
# #-------------------------------------------------------
# return self.Create('list.tpl', data)
# #-------------------------------------------------------
# def CreateListChoice(self, data):
# #-------------------------------------------------------
# return self.Create('listChoice.tpl', data)
# #-------------------------------------------------------
# def CreateListEval(self, data):
# #-------------------------------------------------------
# return self.Create('listEval.tpl', data)
# #-------------------------------------------------------
# def CreateDetail(self, data):
# #-------------------------------------------------------
# return self.Create('detail.tpl', data)
# #-------------------------------------------------------
# def CreateDetailChoice(self, data):
# #-------------------------------------------------------
# return self.Create('detailChoice.tpl', data)