Skip to main content

用于缓存特殊格式文件下载的包。

项目描述

UST下载缓存

GitHub 许可证 GitHub 标签(按日期最新) GitHub 上次提交

关于

Ubuntu 安全团队使用 USTDownloadCache 通过缓存某些 JSON 文件来改善其他包的运行时。

使用 USTDownloadCache

例子:

import logging
from ust_download_cache import USTDownloadCache

logger = logging.getLogger("")
download_cache = USTDownloadCache(logger)

url = "URL_GOES_HERE"
data = download_cache.get_data_from_url(url)
metadata = download_cache.get_cache_metadata_from_url(url) # used by USTDownloadCache

提取压缩文件

USTDownloadCache 能够下载、提取和缓存 bz2 或 gz 档案。这些文件被提取并未压缩存储,以便可以尽快访问数据。

元数据

USTDownloadCache 依赖于它正在下载/缓存的文件中包含的元数据。JSON 必须提供一个“元数据”键,它提供时间戳(自 Unix 纪元以来的秒数)和以秒为单位的生存时间 (ttl)。文件的缓存版本在以下情况下被认为已过期timestamp + ttl > now

{
    "metadata": {
        "timestamp": 1591887905,
        "ttl": 3600,
        "version": "1.0"
    },
    "data": {
        "name1": "value1",
        "name2": "value2"
    }
}

安装

从源头

要从源代码安装,您可以克隆此存储库并安装 USTDownloadCache:

$> git clone https://github.com/canonical/ust-download-cache
$> pip3 install --user ./ust-download-cache/

作为依赖

由于 USTDownloadCache 目前不在 PyPI 中,因此您必须在 setup.py 中使用 github tarball:

install_requires = [
        "ust-download-cache @ https://github.com/canonical/ust-download-cache/archive/v1.0.1.tar.gz",
]

发展

安装预提交挂钩

要安装预提交挂钩,请运行

pip3 install --user pre-commit
~/.local/bin/pre-commit install

运行测试套件

您可以通过运行来运行自动化测试套件

$> python3 -m pytest

将在 生成 HTML 代码覆盖率报告./htmlcov。您可以使用任何网络浏览器(例如firefox ./htmlcov/index.html)查看此内容。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

UST 下载 Cache-2.1.0.tar.gz (4.9 kB 查看哈希

已上传 source

内置分布

UST_Download_Cache-2.1.0-py3-none-any.whl (17.7 kB 查看哈希

已上传 py3