# coding: utf-8 import json import cherrypy from .database import KatfehlerDatabase_cl, KatursacheDatabase_cl, FehlerDatabase_cl # Method-Dispatching! # Übersicht Anforderungen / Methoden # (beachte: / relativ zu /navigation, siehe Konfiguration Server!) #------------------------------------------------------- def adjustId_p(id_spl, data_opl): #------------------------------------------------------- if id_spl == None: data_opl['id'] = '' elif id_spl == '': data_opl['id'] = '' elif id_spl == '0': data_opl['id'] = '' else: data_opl['id'] = id_spl return data_opl """ Anforderung GET PUT POST DELETE ----------------------------------------------------------------------------------------- /katfehler/ alle Fehlerkategorien /katfehler/:katfehler-id einzelne Fehlerkategorien Fehler löschen /katfehler/+Daten neue FK speichern /katfehler/:katfehler-id+Daten Fehler ändern """ #---------------------------------------------------------- class KatFehler_cl(object): #---------------------------------------------------------- exposed = True # gilt für alle Methoden #------------------------------------------------------- def __init__(self): #------------------------------------------------------- self.db_o = KatfehlerDatabase_cl() #------------------------------------------------------- def GET(self, id = None): #------------------------------------------------------- retVal_o = { 'data': None } if id == None: # Anforderung der Liste retVal_o['data'] = self.db_o.read_px() else: # Anforderung eines Dokuments data_o = self.db_o.read_px(id) if data_o != None: retVal_o['data'] = adjustId_p(id, data_o) return retVal_o #------------------------------------------------------- def PUT(self, data_opl): #------------------------------------------------------- # Sichern der Daten: jetzt wird keine vollständige Seite # zurückgeliefert, sondern nur noch die Information, ob das # Speichern erfolgreich war retVal_o = { 'id': None } # data_opl: Dictionary mit den gelieferten key-value-Paaren # hier müsste man prüfen, ob die Daten korrekt vorliegen! id_s = data_opl["id_s"] data_o = { 'name': data_opl["name_s"], 'id': data_opl["id_s"] } # Update-Operation retVal_o['id'] = id_s if self.db_o.update_px(id_s, data_o): pass else: retVal_o['id'] = None return retVal_o #------------------------------------------------------- def POST(self, data_opl): #------------------------------------------------------- retVal_o = { 'id': None } # data_opl: Dictionary mit den gelieferten key-value-Paaren # hier müsste man prüfen, ob die Daten korrekt vorliegen! data_o = { 'name': data_opl["name_s"] } # Create-Operation id_s = self.db_o.create_px(data_o) retVal_o['id'] = id_s return retVal_o #------------------------------------------------------- def DELETE(self, id): #------------------------------------------------------- # Eintrag löschen, nur noch Rückmeldung liefern retVal_o = { 'id': id } if self.db_o.delete_px(id): pass else: retVal_o['id'] = None return retVal_o """ Anforderung GET PUT POST DELETE ----------------------------------------------------------------------------------------- /katursache/ alle Fehlerkategorien /katursache/:katursache-id einzelne Fehlerkategorien Fehler löschen /katursache/+Daten neue FK speichern /katursache/:katursache-id+Daten Fehler ändern """ #---------------------------------------------------------- class KatUrsache_cl(object): #---------------------------------------------------------- exposed = True # gilt für alle Methoden #------------------------------------------------------- def __init__(self): #------------------------------------------------------- self.db_o = KatursacheDatabase_cl() #------------------------------------------------------- def GET(self, id = None): #------------------------------------------------------- retVal_o = { 'data': None } if id == None: # Anforderung der Liste retVal_o['data'] = self.db_o.read_px() else: # Anforderung eines Dokuments data_o = self.db_o.read_px(id) if data_o != None: retVal_o['data'] = adjustId_p(id, data_o) return retVal_o #------------------------------------------------------- def PUT(self, data_opl): #------------------------------------------------------- # Sichern der Daten: jetzt wird keine vollständige Seite # zurückgeliefert, sondern nur noch die Information, ob das # Speichern erfolgreich war retVal_o = { 'id': None } # data_opl: Dictionary mit den gelieferten key-value-Paaren # hier müsste man prüfen, ob die Daten korrekt vorliegen! id_s = data_opl["id_s"] data_o = { 'name': data_opl["name_s"], 'id': data_opl["id_s"] } # Update-Operation retVal_o['id'] = id_s if self.db_o.update_px(id_s, data_o): pass else: retVal_o['id'] = None return retVal_o #------------------------------------------------------- def POST(self, data_opl): #------------------------------------------------------- retVal_o = { 'id': None } # data_opl: Dictionary mit den gelieferten key-value-Paaren # hier müsste man prüfen, ob die Daten korrekt vorliegen! data_o = { 'name': data_opl["name_s"] } # Create-Operation id_s = self.db_o.create_px(data_o) retVal_o['id'] = id_s return retVal_o #------------------------------------------------------- def DELETE(self, id): #------------------------------------------------------- # Eintrag löschen, nur noch Rückmeldung liefern retVal_o = { 'id': id } if self.db_o.delete_px(id): pass else: retVal_o['id'] = None return retVal_o """ Anforderung GET PUT POST DELETE ----------------------------------------------------------------------------------------- /fehler/ alle Fehler /fehler/?type=erkannt alle erkannten Fehler /fehler/?type=behoben alle behobenen Fehler /fehler/:fehler-id einzelner Fehler /fehler/+Daten Fehler speichern Rückgabe Id /fehler/:fehler-id+Daten Fehler ändern """ #---------------------------------------------------------- class Fehler_cl(object): #---------------------------------------------------------- exposed = True # gilt für alle Methoden #------------------------------------------------------- def __init__(self): #------------------------------------------------------- self.db_o = FehlerDatabase_cl() #------------------------------------------------------- def GET(self, id = None): #------------------------------------------------------- retVal_o = { 'data': None } if id == None: # Anforderung der Liste retVal_o['data'] = self.db_o.read_px() else: # Anforderung eines Dokuments data_o = self.db_o.read_px(id) if data_o != None: retVal_o['data'] = adjustId_p(id, data_o) return retVal_o #------------------------------------------------------- def PUT(self, data_opl): #------------------------------------------------------- # Sichern der Daten: jetzt wird keine vollständige Seite # zurückgeliefert, sondern nur noch die Information, ob das # Speichern erfolgreich war retVal_o = { 'id': None } # data_opl: Dictionary mit den gelieferten key-value-Paaren # hier müsste man prüfen, ob die Daten korrekt vorliegen! id_s = data_opl["id_s"] data_o = { 'name': data_opl["name_s"], 'id': data_opl["id_s"] } # Update-Operation retVal_o['id'] = id_s if self.db_o.update_px(id_s, data_o): pass else: retVal_o['id'] = None return retVal_o #------------------------------------------------------- def POST(self, data_opl): #------------------------------------------------------- retVal_o = { 'id': None } # data_opl: Dictionary mit den gelieferten key-value-Paaren # hier müsste man prüfen, ob die Daten korrekt vorliegen! data_o = { 'name': data_opl["name_s"] } # Create-Operation id_s = self.db_o.create_px(data_o) retVal_o['id'] = id_s return retVal_o #------------------------------------------------------- def DELETE(self, id): #------------------------------------------------------- # Eintrag löschen, nur noch Rückmeldung liefern retVal_o = { 'id': id } if self.db_o.delete_px(id): pass else: retVal_o['id'] = None return retVal_o # EOF