This commit is contained in:
darthsandmann
2016-10-16 21:53:15 +02:00
parent 0d10f8b9dc
commit c9f3117da1
412 changed files with 137942 additions and 0 deletions

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,42 @@
# coding: utf-8
import os.path
from mako.template import Template
from mako.lookup import TemplateLookup
class anzeigen_az(object):
def __init__(self):
self.path_s = 'template'
self.lookup_o = TemplateLookup(directories=['/'])
def erzeugen_az(self, template_praktikum, inhalt_person):
template_praktikum = Template(filename=os.path.join(self.path_s, template_praktikum), output_encoding='utf-8', lookup=self.lookup_o)
return template_praktikum.render(inhalt_alle = inhalt_person)
def erzeugen_anzeigen_az(self, inhalt_person):
return self.erzeugen_az('anzeigen.html', inhalt_person)
def erzeugen_anzeigen_ausschuss_az(self, inhalt_person):
return self.erzeugen_az('ausschuss.html', inhalt_person)
def erzeugen_bearbeiten_az(self, id, inhalt_person):
inhalt_person['id'] = id
return self.erzeugen_az('bearbeiten.html', inhalt_person)
def erzeugen_bearbeiten_ausschuss_az(self, id, inhalt_person):
inhalt_person['id'] = id
return self.erzeugen_az('bearbeiten_ausschuss.html', inhalt_person)
def passwort_az(self, id, inhalt_person):
inhalt_person['id'] = id
return self.erzeugen_az('passwort.html', inhalt_person)
def passwort_loeschen_az(self, id, inhalt_person):
inhalt_person['id'] = id
return self.erzeugen_az('passwort_loeschen.html', inhalt_person)
def weiterleiten_az(self, id, inhalt_person):
inhalt_person['id'] = id
return self.erzeugen_az('weiterleiten.js', inhalt_person)
#EOF

View File

@ -0,0 +1,178 @@
# coding: utf-8
# id ->
# id_s -> einlesen aus datei
import cherrypy
from app import datenbank
from app import anzeigen
from collections import OrderedDict
class programm(object):
def __init__(self):
self.datenbank_py = datenbank.datenbank_db()
self.anzeigen_py = anzeigen.anzeigen_az()
def index(self):
return self.erzeugen_anzeigen_app()
index.exposed = True
def ausschuss_app(self):
return self.erzeugen_anzeigen_ausschuss_app()
ausschuss_app.exposed = True
def hinzufuegen_app(self):
return self.erzeugen_bearbeiten_app()
hinzufuegen_app.exposed = True
def passwort_app(self, id):
return self.erzeugen_passwort_app(id)
passwort_app.exposed = True
def passwort_loeschen_app(self, id):
return self.erzeugen_passwort_loeschen_app(id)
passwort_loeschen_app.exposed = True
def bearbeiten_app(self, id_s, pw):
print(id_s,pw)
self.datenbank_py.aktuell_db(id_s)
inhalt_alle = self.datenbank_py.lesen_json_db(id_s)
if pw == inhalt_alle['Passwort']:
return self.erzeugen_bearbeiten_app(id_s)
elif pw == "" or pw != inhalt_alle['Passwort']:
print("Falsches Passwort"+ pw)
return self.erzeugen_anzeigen_app()
bearbeiten_app.exposed = True
def bearbeiten_ausschuss_app(self, id_s, pw):
self.datenbank_py.aktuell_db(id_s)
inhalt_alle = self.datenbank_py.lesen_json_db(id_s)
if pw == "ausschuss":
return self.erzeugen_bearbeiten_ausschuss_app(id_s)
elif pw == "" or pw != "ausschuss":
print("Falsches Passwort"+ pw)
return self.erzeugen_anzeigen_ausschuss_app()
bearbeiten_ausschuss_app.exposed = True
# ** damit die übergebene Variable beliebig groß sein kannst, ansonsten würde py nur "Vorname" kennen
def speichern_app(self, **inhalt_person):
id_s = inhalt_person["id_s"]
inhalt_alle = {
'Vorname': inhalt_person["Vorname_s"],
'Nachname': inhalt_person["Nachname_s"],
'Gaeste': inhalt_person["Gaeste_s"],
'Studiengang': inhalt_person["Studiengang_s"],
'Betreuer': inhalt_person["Betreuer_s"],
'Passwort': inhalt_person["Passwort_s"],
'Matrikelnummer': inhalt_person["Matrikelnummer_s"],
'Abschlussarbeit': ''
}
if id_s != "None":
self.datenbank_py.update_json_db(id_s, inhalt_alle)
else:
id_s = self.datenbank_py.erzeugen_json_db(inhalt_alle)
raise cherrypy.HTTPRedirect("/")
speichern_app.exposed = True
def speichern_ausschuss_app(self, **inhalt_person):
id_s = inhalt_person["id_s"]
inhalt_alle = {
'Vorname': inhalt_person["Vorname_s"],
'Nachname': inhalt_person["Nachname_s"],
'Gaeste': inhalt_person["Gaeste_s"],
'Studiengang': inhalt_person["Studiengang_s"],
'Betreuer': inhalt_person["Betreuer_s"],
'Passwort': inhalt_person["Passwort_s"],
'Matrikelnummer': inhalt_person["Matrikelnummer_s"],
'Abschlussarbeit': inhalt_person["Abschlussarbeit_s"]
}
if id_s != "None":
self.datenbank_py.update_json_db(id_s, inhalt_alle)
else:
id_s = self.datenbank_py.erzeugen_json_db(inhalt_alle)
raise cherrypy.HTTPRedirect("/")
speichern_ausschuss_app.exposed = True
def loeschen_app(self, id_s, pw):
inhalt_alle = self.datenbank_py.lesen_json_db(id_s)
if pw == inhalt_alle['Passwort']:
self.datenbank_py.loesche_json_db(id_s)
return self.erzeugen_anzeigen_app()
elif pw =="" or pw!= inhalt_alle['Passwort']:
return self.erzeugen_anzeigen_app()
loeschen_app.exposed = True
def weiterleiten_app(self, id_s,pw):
inhalt_alle = self.datenbank_py.erzeugen_weiterleiten_app(id_s)
return self.erzeugen_weiterleiten_app(id_s)
weiterleiten_app.exposed = True
def fehler_app(self, *arguments, **kwargs):
msg_s = "Fehler: " + \
str(arguments) + \
' ' + \
str(kwargs)
raise cherrypy.HTTPError(404, msg_s)
fehler_app.exposed = True
def erzeugen_anzeigen_app(self):
inhalt_alle = self.datenbank_py.lesen_json_db()
return self.anzeigen_py.erzeugen_anzeigen_az(inhalt_alle)
def erzeugen_anzeigen_ausschuss_app(self):
inhalt_alle = self.datenbank_py.lesen_json_db()
##OrderedDict(sorted(inhalt_alle, key=lambda t: t[0]))
return self.anzeigen_py.erzeugen_anzeigen_ausschuss_az(inhalt_alle)
def erzeugen_bearbeiten_app(self, id = None):
if id != None:
inhalt_alle = self.datenbank_py.lesen_json_db(id)
else:
inhalt_alle = self.datenbank_py.inhalt_db()
return self.anzeigen_py.erzeugen_bearbeiten_az(id, inhalt_alle)
def erzeugen_bearbeiten_ausschuss_app(self, id = None):
if id != None:
inhalt_alle = self.datenbank_py.lesen_json_db(id)
else:
inhalt_alle = self.datenbank_py.inhalt_db()
return self.anzeigen_py.erzeugen_bearbeiten_ausschuss_az(id, inhalt_alle)
def erzeugen_passwort_app(self, id):
inhalt_alle = self.datenbank_py.lesen_json_db(id)
return self.anzeigen_py.passwort_az(id, inhalt_alle)
def erzeugen_passwort_loeschen_app(self, id):
inhalt_alle = self.datenbank_py.lesen_json_db(id)
return self.anzeigen_py.passwort_loeschen_az(id, inhalt_alle)
def erzeugen_weiterleiten_app(self, id):
inhalt_alle = self.datenbank_py.lesen_json_db(id)
return self.anzeigen_py.weiterleiten_az(id, inhalt_alle)
def betreuer_app(self, inhalt_alle):
for id in inhalt_alle:
inhalt_betreuer[id] = inhalt_alle[id]['Betreuer']
endfor
return self.inhalt_betreuer
##def sortieren_app(self, inhalt_alle):
## for var in inhalt_alle:
## dict[var] = inhalt_alle[var]
## endfor
## s_dict = OrderedDict(sorted(dict.items(), key=lambda t: t[1]))
## return s_dict
#EOF

View File

@ -0,0 +1,91 @@
# coding: utf-8
import os
import os.path
import codecs
import json
class datenbank_db(object):
def __init__(self):
self.inhalt_alle = {}
self.inhalt_betreuer = {}
self.lesen_inhalt_db()
def erzeugen_json_db(self, inhalt_person):
id = self.naechste_db()
datei = codecs.open(os.path.join('data', id+'.json'), 'w', 'utf-8')
datei.write(json.dumps(inhalt_person, indent=3, ensure_ascii=True))
datei.close()
self.inhalt_alle[id] = inhalt_person
return id
def lesen_json_db(self, id = None):
inhalt_alle = None
if id == None:
inhalt_alle = self.inhalt_alle
else:
if id in self.inhalt_alle:
inhalt_alle = self.inhalt_alle[id]
return inhalt_alle
def update_json_db(self, id, inhalt_person):
status_b = False
if id in self.inhalt_alle:
datei = codecs.open(os.path.join('data', id+'.json'), 'w', 'utf-8')
datei.write(json.dumps(inhalt_person, indent=3, ensure_ascii=True))
datei.close
self.inhalt_alle[id] = inhalt_person
status_b = True
return status_b
def loesche_json_db(self, id):
status_b = False
if id in self.inhalt_alle:
os.remove(os.path.join('data', id+'.json'))
del self.inhalt_alle[id]
status_b = True
return status_b
def inhalt_db(self):
return {
'Vorname': '',
'Nachname': '',
'Gaeste': '',
'Studiengang': '',
'Betreuer': '',
'Passwort': '',
'Matrikelnummer': '',
'Abschlussarbeit': ''
}
def lesen_inhalt_db(self):
ordner = os.listdir('data')
for dateiname in ordner:
if dateiname.endswith('.json') and dateiname != 'letztes.json' and dateiname != 'aktuell.json':
datei = codecs.open(os.path.join('data', dateiname), 'rU', 'utf-8')
dateiinhalt = datei.read()
id = dateiname[:-5]
self.inhalt_alle[id] = json.loads(dateiinhalt)
def naechste_db(self):
datei = open(os.path.join('data', 'letztes.json'), 'r+')
letztes = datei.read()
letztes = str(int(letztes)+1)
datei.seek(0)
datei.write(letztes)
datei.close()
return letztes
def aktuell_db(self,id):
datei = open(os.path.join('data', 'aktuell.json'), 'r+')
datei.seek(0)
datei.write(id)
datei.close()
def lesen_aktuell_db(self,id):
datei = open(os.path.join('data', 'aktuell.json'), 'r+')
aktuell_id = datei.read()
datei.close()
return aktuell_id
# EOF