Sammlung
This commit is contained in:
0
Sammlung/P2/app/__init__.py
Normal file
0
Sammlung/P2/app/__init__.py
Normal file
BIN
Sammlung/P2/app/__pycache__/__init__.cpython-33.pyc
Normal file
BIN
Sammlung/P2/app/__pycache__/__init__.cpython-33.pyc
Normal file
Binary file not shown.
BIN
Sammlung/P2/app/__pycache__/anzeigen.cpython-33.pyc
Normal file
BIN
Sammlung/P2/app/__pycache__/anzeigen.cpython-33.pyc
Normal file
Binary file not shown.
BIN
Sammlung/P2/app/__pycache__/application.cpython-33.pyc
Normal file
BIN
Sammlung/P2/app/__pycache__/application.cpython-33.pyc
Normal file
Binary file not shown.
BIN
Sammlung/P2/app/__pycache__/datenbank.cpython-33.pyc
Normal file
BIN
Sammlung/P2/app/__pycache__/datenbank.cpython-33.pyc
Normal file
Binary file not shown.
BIN
Sammlung/P2/app/__pycache__/mako.cpython-33.pyc
Normal file
BIN
Sammlung/P2/app/__pycache__/mako.cpython-33.pyc
Normal file
Binary file not shown.
31
Sammlung/P2/app/anzeigen.py
Normal file
31
Sammlung/P2/app/anzeigen.py
Normal 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
|
100
Sammlung/P2/app/application.py
Normal file
100
Sammlung/P2/app/application.py
Normal 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
|
76
Sammlung/P2/app/datenbank.py
Normal file
76
Sammlung/P2/app/datenbank.py
Normal 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
|
Reference in New Issue
Block a user