From e4cff0b50730b611a2356591eeb38946714fba8d Mon Sep 17 00:00:00 2001 From: imlonghao Date: Thu, 8 Aug 2024 23:13:47 +0800 Subject: [PATCH] anitya: support to use anitya ID --- docs/usage.rst | 5 +++++ nvchecker_source/anitya.py | 4 +++- tests/test_anitya.py | 7 +++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/usage.rst b/docs/usage.rst index 5a85433..642c82d 100644 --- a/docs/usage.rst +++ b/docs/usage.rst @@ -757,6 +757,11 @@ This enables you to track updates from `Anitya anitya ``distro/package``, where ``distro`` can be a lot of things like "fedora", "arch linux", "gentoo", etc. ``package`` is the package name of the chosen distribution. +anitya_id + The identifier of the project/package in anitya. + +Note that either anitya or anitya_id needs to be specified, anitya_id is preferred when both specified. + Check Android SDK ~~~~~~~~~~~~~~~~~ :: diff --git a/nvchecker_source/anitya.py b/nvchecker_source/anitya.py index db5d8ca..d0fa36f 100644 --- a/nvchecker_source/anitya.py +++ b/nvchecker_source/anitya.py @@ -6,7 +6,9 @@ from nvchecker.api import RichResult URL = 'https://release-monitoring.org/api/project/{pkg}' async def get_version(name, conf, *, cache, **kwargs): - pkg = conf.get('anitya') + pkg = conf.get('anitya_id') + if pkg is None: + pkg = conf.get('anitya') url = URL.format(pkg = pkg) data = await cache.get_json(url) return RichResult( diff --git a/tests/test_anitya.py b/tests/test_anitya.py index ae0ac3c..adeac41 100644 --- a/tests/test_anitya.py +++ b/tests/test_anitya.py @@ -13,3 +13,10 @@ async def test_anitya(get_version): "anitya": "fedora/shutter", }) assert re.match(r"[0-9.]+", version) + +async def test_anitya_by_id(get_version): + version = await get_version("shutter", { + "source": "anitya", + "anitya_id": "4813", + }) + assert re.match(r"[0-9.]+", version)