import os,re,fdb,time import datetime import funkce con = fdb.connect( host='localhost', database=r'u:\MEDICUS 3\data\medicus.FDB', user='sysdba', password='masterkey',charset='WIN1250') # Create a Cursor object that operates in the context of Connection con: cur = con.cursor() cesta=r"u:\Dropbox\!!!Days\Downloads Z230\Dokumentace" for soubor in os.listdir(cesta): if soubor.endswith('.pdf'): #kontrola struktury pattern=re.compile(r'(\d{9,10}) (\d{4}-\d{2}-\d{2}) (\w+, \w.+?) \[(.+?)\] \[(.+?)\]') match=pattern.search(soubor) print(soubor) chyba=False if match and len(match.groups())==5: rc=match.group(1) datum=match.group(2) try: datum_object = datetime.datetime.strptime(datum,"%Y-%m-%d").date() print(datum_object) except: chyba=True jmeno=match.group(3) prvnizavorka=match.group(4) druhazavorka = match.group(5) else: chyba=True if chyba: soubornovy="♥"+soubor if soubor[0]!="♥": os.rename(os.path.join(cesta,soubor),os.path.join(cesta,soubornovy)) continue #zde máme všechno OK rc, datum_object,jmeno,prvnizavorka,druhazavorka #Nyní kontrola délky jména soubor, akceptáno max 100 znamk print(soubor) filetoinsert=os.path.join(cesta,soubor) print(time.ctime(os.path.getctime(filetoinsert))) datumsouboru=datetime.datetime.fromtimestamp(os.path.getctime(filetoinsert)) with open(filetoinsert, 'rb') as f: daticka = f.read() #newid generation newfileid = funkce.get_files_id(con) if newfileid is None: print("Chyba") continue newdekursid=funkce.get_dekurs_id(con) if newdekursid is None: print("Chyba") continue idpac=funkce.get_idpac(rc,con) if idpac is None: print("Chyba") continue print("Bude vlozeno:") print(f"""id: {newfileid} iddoctyp: 2 idpac: {idpac} filename: {soubor} datum: {datum_object} datsouboru: {datumsouboru} poznamka: {prvnizavorka} {druhazavorka}""") print(datum_object.strftime('%Y-%m-%d')) #id idpac filename body docid typ datum iddoctyp poznamka idpac=2 iduzi=2 datsouboru id_edokument ext_id query = "insert into files (id,iduzi,iddoctyp,typ,idpac,filename,body,datum,datsouboru,poznamka) values(?,?,?,?,?,?,?,?,?,?)" # cur.execute(query,(newfileid,6,1,1,idpac,prvnizavorka+".pdf",daticka,datum_object,datumsouboru,druhazavorka[:99])) cur.execute(query, (newfileid, 6, 1, 1, 9742, prvnizavorka + ".pdf", daticka, datum_object, datumsouboru, druhazavorka[:99])) con.commit() #zapis do dekurzu # funkce.zapis_dekurs(con, idpac, 2, 6, 2, newfileid, prvnizavorka, "test text", datetime.date(2023, 10, 15),datetime.date(2023, 10, 15)) funkce.zapis_dekurs(con, 9742, 2, 6, 2, newfileid, datum_object.strftime('%Y-%m-%d')+" "+ prvnizavorka+ ": "+druhazavorka, "test text", datetime.date(2023, 10, 15), datetime.date(2023, 10, 15)) #vymazat zpracovaný soubor # os.remove(filetoinsert) con.close()