From 56e77aa861f2f898400d20373c463aa9d5c1c535 Mon Sep 17 00:00:00 2001 From: Hazel Noack Date: Wed, 11 Jun 2025 11:50:22 +0200 Subject: [PATCH] cache db --- python_requests/cache.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/python_requests/cache.py b/python_requests/cache.py index bcdf068..613f4c1 100644 --- a/python_requests/cache.py +++ b/python_requests/cache.py @@ -3,10 +3,30 @@ from hashlib import sha1 from pathlib import Path import requests import pickle +import sqlite3 +from datetime import datetime from . import CACHE_DIRECTORY +# SQLite database file path +DB_FILE = Path(CACHE_DIRECTORY, "cache_metadata.db") + +# Initialize the database +def _init_db(): + with sqlite3.connect(DB_FILE) as conn: + conn.execute(""" + CREATE TABLE IF NOT EXISTS url_cache ( + url_hash TEXT PRIMARY KEY, + last_updated TIMESTAMP + ) + """) + conn.commit() + +# Initialize the database when module is imported +_init_db() + + def get_url_hash(url: str) -> str: return sha1(encode(url.strip(), "utf-8")).hexdigest()