28 lines
876 B
Python
28 lines
876 B
Python
|
from collections import namedtuple as nt
|
||
|
from cliget import _load_catalog as ldc, _local_version as lv, _gh_version
|
||
|
from semver import VersionInfo
|
||
|
|
||
|
Result = nt('res', "cli lver gh rver asset exe")
|
||
|
#Result.__repr__ = lambda x: f'{x.gh}'
|
||
|
|
||
|
# catalog completion report:
|
||
|
ctl = ldc({'__catalog':'catalog.yaml'})
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
report = {}
|
||
|
for cli, props in ctl.items():
|
||
|
lver, gh, rver, asset, exe = (False,)*5 # it is False until it is True
|
||
|
# output semver on `--version`
|
||
|
lver = lv(cli) > VersionInfo(0)
|
||
|
# has github repo
|
||
|
gh = props.github is not None
|
||
|
if gh:
|
||
|
# has semver release
|
||
|
rver = _gh_version(props.github) > VersionInfo(0)
|
||
|
# has linux + x86_64 + tgz asset
|
||
|
# has exe at a known place
|
||
|
r = Result(cli, lver, gh, rver, asset, exe)
|
||
|
print(r)
|
||
|
|