Initial commit

This commit is contained in:
michaela.buzalkova
2025-09-30 08:22:44 +02:00
commit b45a8b2d00
29 changed files with 1486 additions and 0 deletions

94
p01.py Normal file
View File

@@ -0,0 +1,94 @@
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()