{
"event": "PreToolUse",
"tool_name": "Write",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/crawler\/src\/infrastructure\/persistence\/mappers\/url_mapper.py",
"content": "from __future__ import annotations\n\nfrom typing import Any\n\nfrom src.domain.entities.url import Url\nfrom src.domain.value_objects.normalized_url import NormalizedUrl\n\n\ndef url_to_row(url: Url) -> dict[str, Any]:\n n = url.normalized\n return {\n \"url_hash\": n.url_hash,\n \"url\": n.url,\n \"scheme\": n.scheme,\n \"host\": n.host,\n \"path\": n.path,\n \"is_internal\": 1 if url.is_internal else 0,\n \"first_seen_at\": url.first_seen_at,\n \"last_seen_at\": url.last_seen_at,\n }\n\n\ndef row_to_url(row: dict[str, Any]) -> Url:\n normalized = NormalizedUrl(\n raw=row[\"url\"],\n scheme=row[\"scheme\"],\n host=row[\"host\"],\n port=None,\n path=row[\"path\"],\n query=\"\",\n url_hash=row[\"url_hash\"],\n )\n return Url(\n id=row[\"id\"],\n normalized=normalized,\n is_internal=bool(row[\"is_internal\"]),\n first_seen_at=row[\"first_seen_at\"],\n last_seen_at=row[\"last_seen_at\"],\n )\n"
}
}
{
"tool_response": {
"type": "create",
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/crawler\/src\/infrastructure\/persistence\/mappers\/url_mapper.py",
"content": "from __future__ import annotations\n\nfrom typing import Any\n\nfrom src.domain.entities.url import Url\nfrom src.domain.value_objects.normalized_url import NormalizedUrl\n\n\ndef url_to_row(url: Url) -> dict[str, Any]:\n n = url.normalized\n return {\n \"url_hash\": n.url_hash,\n \"url\": n.url,\n \"scheme\": n.scheme,\n \"host\": n.host,\n \"path\": n.path,\n \"is_internal\": 1 if url.is_internal else 0,\n \"first_seen_at\": url.first_seen_at,\n \"last_seen_at\": url.last_seen_at,\n }\n\n\ndef row_to_url(row: dict[str, Any]) -> Url:\n normalized = NormalizedUrl(\n raw=row[\"url\"],\n scheme=row[\"scheme\"],\n host=row[\"host\"],\n port=None,\n path=row[\"path\"],\n query=\"\",\n url_hash=row[\"url_hash\"],\n )\n return Url(\n id=row[\"id\"],\n normalized=normalized,\n is_internal=bool(row[\"is_internal\"]),\n first_seen_at=row[\"first_seen_at\"],\n last_seen_at=row[\"last_seen_at\"],\n )\n",
"structuredPatch": [],
"originalFile": null,
"userModified": false
}
}