přidána sdílená MySQL knihovna, paměť Claude a oprava připojení Medicus.fdb
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import socket
|
||||
import pymysql
|
||||
|
||||
_LOCAL_HOSTS = {"lekar", "sestra", "lenovo"}
|
||||
|
||||
|
||||
def connect_mysql(user="root", password="Vlado9674+", database="medevio",
|
||||
port=3306, charset="utf8mb4", autocommit=True):
|
||||
"""
|
||||
Připojí se k MySQL. Na lokálních stanicích (lekar/sestra/lenovo) použije
|
||||
127.0.0.1 přímo, jinak zkusí 192.168.1.76 a pak 127.0.0.1 jako fallback.
|
||||
Vrátí aktivní pymysql spojení nebo vyhodí RuntimeError.
|
||||
"""
|
||||
hostname = socket.gethostname().lower()
|
||||
candidates = ("127.0.0.1",) if hostname in _LOCAL_HOSTS else ("192.168.1.76", "127.0.0.1")
|
||||
|
||||
params = dict(port=port, user=user, password=password,
|
||||
database=database, charset=charset, autocommit=autocommit)
|
||||
|
||||
last_error = None
|
||||
for host in candidates:
|
||||
try:
|
||||
conn = pymysql.connect(host=host, **params)
|
||||
print(f"[mysql_db] Připojeno přes {host} (hostname: {hostname})")
|
||||
return conn
|
||||
except Exception as e:
|
||||
print(f"[mysql_db] {host} selhal: {e}")
|
||||
last_error = e
|
||||
|
||||
raise RuntimeError(f"MySQL nedostupné na žádné adrese. Poslední chyba: {last_error}")
|
||||
Reference in New Issue
Block a user