def archive_sql_protocol(user): """Löscht die Daten aus der Protokolltabelle und schreibt sie in eine Archivdatei. Code weitestgehend von MSG übernommen.""" tmp_yek = "2001.12.31" # ?? :-) # diesen abschnitt. hier wird zu erst in eine datei archiviert, dann gelöscht # zeit generieren und fileobjekt erstellen. local_time_insec = time.time() local_time_tupel = time.localtime(local_time_insec) zeitstempel = time.strftime("%d%m%y%H%M%S", local_time_tupel) zeitstempel2 =time.strftime("%d.%m.%y um %H:%M:%S", local_time_tupel) pfad = os.path.join(config.PROTOCOL_DIR, zeitstempel + ".txt") #if os.exists(PROTOCOL_DIR) != true: #mkdir(PROTOCOL_DIR) fdatei = open(pfad, "wb") # jede zeile aus der protokolltabelle wird in die datei geschrieben protokolleintraege = ProtokollList(where = '', order='nr') rot = rotor.newrotor(tmp_yek) from ebkus.app_surface.protokoll_templates import datei_t for p in protokolleintraege: fdatei.write(rot.encryptmore(datei_t % p)) fdatei.write(rot.encryptmore('<br>')) fdatei.write(rot.encryptmore("""<br>****************************<br> Die Protokolltabellen wurden am %s von %s geloescht und in die Datei %s archiviert. <br>****************************<br>""" % (zeitstempel2, user, pfad))) fdatei.close() # Maxist protokolltabelle wird gesetzt tab = Tabelle(tabelle='protokoll') tab.update({'maxist': 0}) # protokolltabelle wird gelöscht protokolleintraege2 = ProtokollList(where = '') protokolleintraege2.deleteall()
def fua_bs_neue_tabelle_fuer_mitarbeiter_zuordnung(self): if 'mitarbeiterfua_bs' in self.tables: logging.info("Tabelle 'mitarbeiterfua_bs' existiert bereits") return try: SQL("""CREATE TABLE mitarbeiterfua_bs ( id int NOT NULL, mit_id int, fua_bs_id int, zeit int, PRIMARY KEY (id) )""").execute() t = Tabelle() t.init( tabelle="mitarbeiterfua_bs", name="Zuordnung Mitarbeiter-fallunabhängige Aktivitäten", klasse="Mitarbeiterfua_bs", flag=0, maxist=0 ) t.new() t.insert() felder = ( ('id', 'id', None, cc('verwtyp', 's'), None,), ('mit_id', 'Mitarbeiterid', 'mitarbeiterfuaktivitaeten', cc('verwtyp', 'f'), Tabelle(tabelle='mitarbeiter')['id']), ('fua_bs_id', 'Fua_bsid', 'mitarbeiterfuaktivitaeten', cc('verwtyp', 'f'), Tabelle(tabelle='fua_bs')['id']), ('zeit', 'Änderungszeit', None, cc('verwtyp', 'p'), None), ) for feld, name, inverse, verwtyp, ftab_id in felder: f = Feld() f.init( tab_id=t['id'], feld=feld, name=name, inverse=inverse, typ='INT', verwtyp=verwtyp, ftab_id=ftab_id, flag=0, ) f.new() f.insert() logging.info("Neue Tabelle 'mitarbeiterfua_bs' eingefuehrt") except: #raise logging.error("************ Fehler beim Anlegen der Tabelle 'mitarbeiterfua_bs'")
def neue_tabelle_fuer_gemeindeschluessel(self): if 'ags' in self.tables: logging.info("Tabelle 'ags' existiert bereits") return try: SQL("""CREATE TABLE ags ( id int NOT NULL, plz CHAR(5), ags CHAR(12), ort VARCHAR(60), PRIMARY KEY (id), KEY(ort(10)) )""").execute() t = Tabelle() t.init( tabelle="ags", name="Amtliche Gemeindeschlüssel", klasse="AGS", flag=0, maxist=0 ) t.new() t.insert() felder = ( ('id', 'id', None, 'INT', cc('verwtyp', 's'), None,), ('plz', 'Postleitzahl', None, 'CHAR(5)', cc('verwtyp', 'p'), None,), ('ags', 'Gemeindeschlüssel', None, 'CHAR(12)', cc('verwtyp', 'p'), None,), ('ort', 'Ort', None, 'VARCHAR(60)', cc('verwtyp', 'p'), None,), ) for feld, name, inverse, typ, verwtyp, ftab_id in felder: f = Feld() f.init( tab_id=t['id'], feld=feld, name=name, inverse=inverse, typ=typ, verwtyp=verwtyp, ftab_id=ftab_id, flag=0, ) f.new() f.insert() logging.info("Neue Tabelle 'ags' fuer Gemeindeschluessel eingefuehrt") except: #raise logging.error("************ Fehler beim Anlegen der Tabelle 'ags'")