This commit is contained in:
CreaRobotics committed 2026-03-02 11:34:40 +01:00
1 parent 6ccab0347b
commit 954a2fd6d6
18684 files changed
+601012 -190

No files matched your search

@@ -0,0 +1,36 @@
import datetime
import urllib.request
from typing import Callable
import mkdocs_get_deps.cache
import mkdocs
def download_url(url: str) -> bytes:
req = urllib.request.Request(url, headers={"User-Agent": f"mkdocs/{mkdocs.__version__}"})
with urllib.request.urlopen(req) as resp:
return resp.read()
def download_and_cache_url(
url: str,
cache_duration: datetime.timedelta,
*,
download: Callable[[str], bytes] = download_url,
comment: bytes = b"# ",
) -> bytes:
"""
Downloads a file from the URL, stores it under ~/.cache/, and returns its content.
For tracking the age of the content, a prefix is inserted into the stored file, rather than relying on mtime.
Args:
url: URL to use.
download: Callback that will accept the URL and actually perform the download.
cache_duration: How long to consider the URL content cached.
comment: The appropriate comment prefix for this file format.
"""
return mkdocs_get_deps.cache.download_and_cache_url(
url=url, cache_duration=cache_duration, download=download, comment=comment
)