nvchecker/nvchecker/source/packagist.py
lilydjwg 903b414183 cache result during a run
so that different entries can refer to a same software without much overhead.

This is needed because entries may be generated, and only nvchecker can
tell if two entries are expecting the same result because the name may
or may not be relevant.

Closes #81.
2018-10-10 17:03:20 +08:00

18 lines
506 B
Python

# MIT licensed
# Copyright (c) 2013-2017 lilydjwg <lilydjwg@gmail.com>, et al.
from .simple_json import simple_json
PACKAGIST_URL = 'https://packagist.org/packages/%s.json'
def _version_from_json(data):
data = {version: details for version, details in data["package"]['versions'].items() if version != "dev-master"}
if len(data):
return max(data, key=lambda version: data[version]["time"])
get_version, get_cacheable_conf = simple_json(
PACKAGIST_URL,
'packagist',
_version_from_json,
)