def processForm(self, REQUEST, RESPONSE): katid = self.form.get('katid') view = self.form.get('view') if not katid: self.last_error_message = "Keine ID fuer das Item erhalten" return self.EBKuSError(REQUEST, RESPONSE) kat = Kategorie(katid) code = Code() code.init( id=Code().getNewId(), kat_id=kat['id'], kat_code=kat['code'], code='', name='', mini=None, maxi=None, dm=None, dy=None, sort=max([c['sort'] for c in kat['codes']]) + 1, off=0, dok='', ) return self._process(title='Merkmal hinzufügen', file='codeeinf', code=code, view=view, )
def create_new_kategorien(new_table, merkmals_datei): """Erstelle eine Liste der Kategorien und eine Liste der Codes, die für new_table benötigt werden, aber noch nicht in der Datenbank sind. """ needed = [f.kat_code for f in new_table.fields if f.kat_code] needed.append('jghag') # Altersgruppe in keinem Feld existing = [k['code'] for k in KategorieList(where='')] needed_and_not_existing = [k for k in needed if k not in existing] merkmale = {} execfile(merkmals_datei, merkmale) kategorie_zeilen = merkmale['kategorie_list_str'].strip().split('\n') kategorien = [k.strip().split(';') for k in kategorie_zeilen] code_zeilen = merkmale['code_list_str'].strip().split('\n') codes = [c.strip().split(';') for c in code_zeilen] #print kategorien #print codes needed_kategorien = [k for k in kategorien if k[0] in needed_and_not_existing] needed_codes = [c for c in codes if c[2] in needed_and_not_existing] #print 'KATEGORIEN', needed_kategorien #print 'CODES:', needed_codes for kat_code, kat_name in needed_kategorien: k = Kategorie() k.new() k['code'] = kat_code k['name'] = kat_name k['zeit'] = int(time()) k.insert() logging.debug("Neue Kategorie für %s: %s" % (kat_name, kat_code)) logging.info("Neue Kategorien hinzugefügt") last_kat_code = None for code_data in needed_codes: code, name, kat_code = code_data[:3] if kat_code != last_kat_code: k = Kategorie(code=kat_code) sort = 1 c = Code() c.new() c['code'] = code c['name'] = name c['kat_id'] = k['id'] c['kat_code'] = kat_code c['sort'] = sort c['off'] = 0 c['zeit'] = int(time()) if len(code_data) > 3 and code_data[3]: c['mini'] = int(code_data[3]) if len(code_data) > 4 and code_data[4]: c['maxi'] = int(code_data[4]) c.insert() sort += 1 logging.debug("Neue Code für %s: %s" % (name, code)) logging.info("Neue Codes hinzugefügt") """
def init_codes(self, codes_data): for cdata in codes_data: c = Code() code, name, kat_code = cdata[:3] kat = self.katalog[kat_code] codes = kat['codes'] bereichs_kat = bool(kat['flag']) sort = len(codes) > 0 and codes[-1]['sort'] + 1 or 1 c.init(code=code, name=name, kat_code=kat_code, sort=sort, off=0, flag=0, ) if bereichs_kat and len(cdata) > 3 and cdata[3]: c['mini'] = int(cdata[3]) if bereichs_kat and len(cdata) > 4 and cdata[4]: c['maxi'] = int(cdata[4]) if len(cdata) > 5 and cdata[5]: c['dok'] = cdata[5] codes.append(c)
def wartezeit_bereichskategorie_eintragen(self): kat_code = 'wartez' try: k = Kategorie(code=kat_code) return except: pass # Kategorie gibts noch nicht k = Kategorie() k.new() k.init( code=kat_code, name='Wartezeit zwischen Anmeldung und erster Leistung', flag=1, # ist Bereichskategorie zeit=int(time()), ) k.insert() kat_id = k['id'] logging.info("Bereichskategorie 'wartez' hinzugefuegt") assert isinstance(kat_id, (int, long)) code_data = ( ('1', 'am selben Tag', 0, 0, ), ('2', 'bis 1 Woche', 1, 7, ), ('3', 'bis 2 Wochen', 8, 14, ), ('4', 'bis 3 Wochen', 15, 21, ), ('5', 'bis 1 Monat', 22, 30, ), ('6', 'bis 3 Monate', 31, 91, ), ('7', 'bis 6 Monate', 92, 183, ), ('6', 'mehr als 6 Monate', 184, 9999, ), ) sort = 0 for code, name, mini, maxi in code_data: sort += 1 c = Code() c.new() c.init( code=code, name=name, kat_id=kat_id, kat_code=kat_code, sort=sort, off=0, zeit=int(time()), mini=mini, maxi=maxi, ) assert c['kat_code'] == kat_code == k['code'] == 'wartez' c.insert() logging.info("Code fuer 'wartez' hinzugefuegt: code=%s name=%s" % (code, name))
def off(): protokoll_code = Code(kat_code='config', code='protocol') protokoll_code.update({'name': 'off'})
def handle_stellen_einrichtung_muster(n_stellen): stellen_codes = ('A', 'B', 'C', 'D') kreise = ('Braunschweig', 'Gifhorn', 'Wolfenbüttel', 'Wolfsburg') einrnr_codes = ( ('100100', 'A_Einrichtungsnummmer'), ('200200', 'B_Einrichtungsnummer'), ('300300', 'C_Einrichtungsnummer'), ('400400', 'D_Einrichtungsnummer'), ) CodeList(where="kat_code='einrnr'").deleteall() kat_code = 'einrnr' for i, (c, n) in enumerate(einrnr_codes): code = Code() code.init( kat_id=Kategorie(code=kat_code)['id'], kat_code=kat_code, code=c, name=n, sort=i+1, off=0, dok='Stelle %s; # Bei dieser Stelle steht dieses Merkmal oben' % stellen_codes[i] ) code.new() code.insert() for i, (st, kr) in enumerate(zip(stellen_codes, kreise)): kr_code = Code(name=kr) kr_code.update({'dok': "Stelle %s; # kommt bei St. %s nach oben" % (st, st) }) land_code = Code(name='Niedersachsen') land_code.update({'dok': "%s # kommt bei diesen Stellen nach oben" % ' '.join([("Stelle %s;" % s) for s in stellen_codes]) }) # umbenennen des vordefinierten Stellenzeichens Code(kat_code='stzei', code='A').update({'name': 'Stelle A',}) for i in range(1, n_stellen): DemoDaten().fake_stelle(i, code=stellen_codes[i])