From a233a5d7eea5e84e1de9459b91583d75053c14e5 Mon Sep 17 00:00:00 2001 From: Julien Palard <julien@palard.fr> Date: Wed, 19 Feb 2025 12:16:51 +0100 Subject: [PATCH] Bump psycopg. --- scripts/import-from-ct-logs.py | 27 +++++++++++++++------------ scripts/requirements.txt | 2 +- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/scripts/import-from-ct-logs.py b/scripts/import-from-ct-logs.py index fb9bc0f..7bd82d5 100644 --- a/scripts/import-from-ct-logs.py +++ b/scripts/import-from-ct-logs.py @@ -17,9 +17,9 @@ So the next maintainer can import using: import argparse from pathlib import Path -import psycopg2 +import psycopg -from public_domain import Domain, NON_PUBLIC_DOMAINS, parse_csv_file, write_csv_file +from public_domain import NON_PUBLIC_DOMAINS, Domain, parse_csv_file, write_csv_file ROOT = Path(__file__).resolve().parent.parent FILE = ROOT / "domains.csv" @@ -27,19 +27,22 @@ FILE = ROOT / "domains.csv" def query_ct_logs(last_id): """Query crt.sh using their postgres public API.""" - conn = psycopg2.connect(dbname="certwatch", user="guest", host="crt.sh") - conn.set_session(readonly=True, autocommit=True) - cur = conn.cursor() - cur.execute( - """SELECT id, altnames.*, x509_subjectname(certificate) subject - FROM certificate, LATERAL (SELECT * FROM x509_altnames(certificate)) altnames - WHERE plainto_tsquery('gouv.fr') @@ identities(certificate) AND id > %s""", - (last_id,), - ) + with psycopg.connect(dbname="certwatch", user="guest", host="crt.sh", autocommit=True) as conn: + conn.read_only = True + with conn.cursor() as cur: + cur.execute( + """SELECT id, altnames.*, x509_subjectname(certificate) subject + FROM certificate, LATERAL ( + SELECT * FROM x509_altnames(certificate) + ) altnames + WHERE plainto_tsquery('gouv.fr') @@ identities(certificate) + AND id > %s""", + (last_id,), + ) + results = cur.fetchall() domains = parse_csv_file(FILE) primary_key = None - results = cur.fetchall() for primary_key, domain, subject in results: domain = Domain( domain.lower(), diff --git a/scripts/requirements.txt b/scripts/requirements.txt index fd33cc9..de8d252 100644 --- a/scripts/requirements.txt +++ b/scripts/requirements.txt @@ -1,5 +1,5 @@ tqdm aiohttp validators>=0.24.0 # where they introduced rfc_2782. -psycopg2 +psycopg[binary] requests -- GitLab