From ba3b7c52144a19a83892638415d2bfdb667888f5 Mon Sep 17 00:00:00 2001 From: Scott Worley Date: Thu, 23 Nov 2023 13:57:49 -0800 Subject: [PATCH 1/1] fetch: cache: Keep cache in XDG_CACHE_HOME (eg: ~/.cache) --- default.nix | 4 ++-- paperdoorknob.py | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/default.nix b/default.nix index 6331754..69a7149 100644 --- a/default.nix +++ b/default.nix @@ -1,11 +1,11 @@ { pkgs ? import { }, lint ? false }: pkgs.python3Packages.callPackage ({ lib, buildPythonPackage, autopep8, mypy - , pylint, requests, requests-cache, types-requests }: + , pylint, requests, requests-cache, types-requests, xdg-base-dirs }: buildPythonPackage rec { pname = "paperdoorknob"; version = "0.0.1"; src = lib.cleanSource ./.; - propagatedBuildInputs = [ requests requests-cache ]; + propagatedBuildInputs = [ requests requests-cache xdg-base-dirs ]; nativeCheckInputs = [ mypy types-requests ] ++ lib.optionals lint [ autopep8 pylint ]; doCheck = true; diff --git a/paperdoorknob.py b/paperdoorknob.py index c1117c2..3aae538 100644 --- a/paperdoorknob.py +++ b/paperdoorknob.py @@ -6,12 +6,19 @@ from argparse import ArgumentParser +import os.path import requests import requests_cache +from xdg_base_dirs import xdg_cache_home def command_line_parser() -> ArgumentParser: parser = ArgumentParser(prog='paperdoorknob', description='Print glowfic') + parser.add_argument( + '--cache_path', + metavar='PATH', + help='Where to keep the http cache (instead of %(default)s)', + default=os.path.join(xdg_cache_home(), "paperdoorknob")) parser.add_argument( '--timeout', help='How long to wait for HTTP requests, in seconds', @@ -27,7 +34,7 @@ def fetch(url: str, session: requests.Session, timeout: int) -> None: def main() -> None: args = command_line_parser().parse_args() - with requests_cache.CachedSession() as session: + with requests_cache.CachedSession(args.cache_path) as session: fetch(args.url, session, args.timeout) -- 2.44.1