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.

View File

@ -0,0 +1,31 @@
# 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_bearbeiten_az(self, id, inhalt_person):
inhalt_person['id'] = id
return self.erzeugen_az('bearbeiten.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)
#EOF

View File

@ -0,0 +1,100 @@
# coding: utf-8
# id ->
# id_s -> einlesen aus datei
import cherrypy
from app import datenbank
from app import anzeigen
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 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):
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']:
return self.erzeugen_anzeigen_app()
bearbeiten_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"]
}
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)
return self.anzeigen_py.erzeugen_bearbeiten_az(id_s, inhalt_alle)
speichern_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 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_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_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)
#EOF

View File

@ -0,0 +1,76 @@
# coding: utf-8
import os
import os.path
import codecs
import json
class datenbank_db(object):
def __init__(self):
self.inhalt_alle = {}
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': ''
}
def lesen_inhalt_db(self):
ordner = os.listdir('data')
for dateiname in ordner:
if dateiname.endswith('.json') and dateiname != 'letztes.json':
datei = codecs.open(os.path.join('data', dateiname), 'rU', 'utf-8')
dateiinhalt = datei.read()
id = dateiname[:-4]
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
# EOF