Initial commit
This commit is contained in:
94
p01.py
Normal file
94
p01.py
Normal 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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user