Files
medicus/MedicusWithClaude/sample_rtf.py

36 lines
901 B
Python

import fdb
conn = fdb.connect(
dsn=r'localhost:c:\medicus 3\data\medicus.fdb',
user='SYSDBA', password='masterkey', charset='win1250'
)
cur = conn.cursor()
# Načti všechny záznamy pacienta a zjisti délku v Pythonu
cur.execute("""
SELECT ID, DATUM, DEKURS
FROM DEKURS
WHERE IDPAC = 9742 AND DEKURS IS NOT NULL
ORDER BY DATUM DESC
""")
rows = cur.fetchall()
def read_blob(val):
text = val.read() if hasattr(val, 'read') else val
if isinstance(text, bytes):
text = text.decode('windows-1250', errors='replace')
return text
# Seřaď podle délky
data = [(r[0], r[1], read_blob(r[2])) for r in rows]
data.sort(key=lambda x: len(x[2]), reverse=True)
print("Top 10 nejdelších záznamů:")
for d in data[:10]:
print(f" ID={d[0]} datum={d[1]} délka={len(d[2])}")
print("\n--- Nejdelší záznam (celý RTF) ---")
print(data[0][2])
conn.close()