notebookvb
This commit is contained in:
@@ -2,14 +2,18 @@
|
||||
# Připojení k Firebird databázi Medicus (medicus.fdb). Volí DSN podle názvu počítače.
|
||||
# Obsahuje třídu MedicusDB s metodami pro dotazy na pacienty, registrace a faktury.
|
||||
|
||||
import os
|
||||
import socket
|
||||
import fdb
|
||||
|
||||
|
||||
def get_medicus_connection():
|
||||
"""
|
||||
Připojí se k Firebird medicus.fdb podle názvu počítače.
|
||||
Vrátí fdb.Connection nebo vyhodí RuntimeError pro neznámý počítač.
|
||||
Připojí se k Firebird medicus.fdb. DSN se vybere takto:
|
||||
1) env MEDICUS_FDB_DSN (má přednost — nutné v dockeru, kde hostname = ID kontejneru),
|
||||
2) podle názvu počítače (dsn_map),
|
||||
3) default.
|
||||
Vrátí fdb.Connection nebo vyhodí RuntimeError.
|
||||
"""
|
||||
computer_name = socket.gethostname().upper()
|
||||
dsn_map = {
|
||||
@@ -20,7 +24,8 @@ def get_medicus_connection():
|
||||
"Z230": r"192.168.1.76:/firebird/data/medicus.fdb", # přepnuto z reporteru na tower 2026-06-14
|
||||
"TOWER": r"192.168.1.76:/firebird/data/medicus.fdb", # Firebird 2.5 docker kontejner na toweru
|
||||
}
|
||||
dsn = dsn_map.get(computer_name, r"localhost:c:\medicus 3\data\medicus.fdb")
|
||||
dsn = (os.environ.get("MEDICUS_FDB_DSN")
|
||||
or dsn_map.get(computer_name, r"localhost:c:\medicus 3\data\medicus.fdb"))
|
||||
import sys
|
||||
print(f"[medicus_db] Pripojuji se jako {computer_name} -> {dsn}", file=sys.stderr, flush=True)
|
||||
return fdb.connect(dsn=dsn, user="SYSDBA", password="masterkey", charset="win1250")
|
||||
|
||||
Reference in New Issue
Block a user