{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/crawler\/src\/infrastructure\/persistence\/connection.py"
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/crawler\/src\/infrastructure\/persistence\/connection.py",
"content": "from __future__ import annotations\n\nfrom collections.abc import Iterator\nfrom contextlib import contextmanager\nfrom typing import Any\n\nimport mysql.connector\n\nfrom src.infrastructure.config.db_config import DbSettings\n\n\nclass MariaDbConnectionFactory:\n def __init__(self, settings: DbSettings) -> None:\n self._settings = settings\n\n def connect(self) -> Any: # mysql.connector types are dynamic\n return mysql.connector.connect(\n host=self._settings.host,\n user=self._settings.user,\n password=self._settings.password,\n database=self._settings.database,\n autocommit=False,\n )\n\n @contextmanager\n def session(self) -> Iterator[Any]:\n conn = self.connect()\n try:\n yield conn\n conn.commit()\n except Exception:\n conn.rollback()\n raise\n finally:\n conn.close()\n",
"numLines": 36,
"startLine": 1,
"totalLines": 36
}
}
}