diff options
Diffstat (limited to 'generalresearch/managers/network/tool_run.py')
| -rw-r--r-- | generalresearch/managers/network/tool_run.py | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/generalresearch/managers/network/tool_run.py b/generalresearch/managers/network/tool_run.py index 17f4935..026b3d3 100644 --- a/generalresearch/managers/network/tool_run.py +++ b/generalresearch/managers/network/tool_run.py @@ -1,19 +1,20 @@ -from typing import Collection, List, Dict +from __future__ import annotations -from psycopg import Cursor, sql +from collections.abc import Collection -from generalresearch.managers.base import PostgresManager, Permission +from psycopg import Cursor, sql +from generalresearch.managers.base import Permission, PostgresManager +from generalresearch.managers.network.mtr import MTRRunManager from generalresearch.managers.network.nmap import NmapRunManager from generalresearch.managers.network.rdns import RDNSRunManager -from generalresearch.managers.network.mtr import MTRRunManager from generalresearch.models.network.rdns.result import RDNSResult from generalresearch.models.network.tool_run import ( + MTRRun, NmapRun, RDNSRun, - MTRRun, - ToolRun, ToolName, + ToolRun, ) from generalresearch.pg_helper import PostgresConfig @@ -22,7 +23,7 @@ class ToolRunManager(PostgresManager): def __init__( self, pg_config: PostgresConfig, - permissions: Collection[Permission] = None, + permissions: Collection[Permission] | None = None, ): super().__init__(pg_config=pg_config, permissions=permissions) self.nmap_manager = NmapRunManager(self.pg_config) @@ -30,8 +31,7 @@ class ToolRunManager(PostgresManager): self.mtr_manager = MTRRunManager(self.pg_config) def _create_tool_run(self, run: NmapRun | RDNSRun | MTRRun, c: Cursor): - query = sql.SQL( - """ + query = sql.SQL(""" INSERT INTO network_toolrun ( ip, scan_group_id, tool_class, tool_name, tool_version, started_at, @@ -44,8 +44,7 @@ class ToolRunManager(PostgresManager): %(finished_at)s, %(status)s, %(raw_command)s, %(config)s ) RETURNING id; - """ - ) + """) params = run.model_dump_postgres() c.execute(query, params) run_id = c.fetchone()["id"] @@ -62,7 +61,7 @@ class ToolRunManager(PostgresManager): else: raise ValueError("unrecognized run type") - def get_latest_runs_by_tool(self, ip: str) -> Dict[ToolName, ToolRun]: + def get_latest_runs_by_tool(self, ip: str) -> dict[ToolName, ToolRun]: query = """ SELECT DISTINCT ON (tool_name) * FROM network_toolrun |
