Add genisoinfo for github releases

This commit is contained in:
Zenithal 2021-02-03 21:41:49 +08:00
parent 881164e341
commit dca172df3c
No known key found for this signature in database
GPG Key ID: 1189C659F3D04C1C
2 changed files with 78 additions and 5 deletions

View File

@ -42,6 +42,8 @@ type = CLI-only
platform = $2
# "key_by" (a.k.a group by) should be used when images of different types or platform have
# different version number, see lineageOS below.
# "nosort" should be used when sort is not possible, in this case listvers should not be set
# when "nosort" presents (regardless of value), sort would not occue
[alpine]
distro = Alpine
@ -862,6 +864,7 @@ type = iso
[NetBSD]
distro = NetBSD
listvers = 3
location = NetBSD/iso/*/*
pattern = NetBSD-([\.\d]+)-([-\w]+)\.iso(?!.)
version = $1
@ -870,6 +873,7 @@ type = iso
[Anthon]
distro = Anthon
listvers = 3
location = anthon/aosc-os/*/*/*
pattern = aosc-os_([^/]+)_(\d+)_(\w+)\.(tar\.xz|img)(?!.)
version = $2
@ -909,6 +913,7 @@ platform = $2
[qubesos]
distro = Qubes OS
listvers = 3
location = qubesos/iso/*
pattern = Qubes-R([\.\d]+)(-\w+)?-(\w+)\.iso(?!.)
version = $1
@ -926,6 +931,7 @@ category = app
[mageia]
distro = Mageia
listvers = 3
location = mageia/iso/*/*/*
pattern = Mageia-([\d]+)-([^/]+)-([\w]+)\.iso(?!.)
version = $1
@ -942,6 +948,7 @@ type = iso
[linuxlite]
distro = Linux Lite
listvers = 10
location_0 = osdn/storage/g/l/li/linuxlite/*/*.iso
location_1 = osdn/storage/g/l/li/linuxlite/*/*/*.iso
pattern = linux-lite-([\.\d]+)-(\w+)\.iso(?!.)
@ -975,3 +982,68 @@ version = $1
platform = $2
type = dmg
category = app
[cmder]
distro = cmder
location = github-release/cmderdev/cmder/LatestRelease/*
pattern = cmder_?(mini)?\.(7z|zip)
version = cmder $1
platform = $2
category = app
[googlefonts noto cjk]
distro = Google Fonts
category = font
location = github-release/googlefonts/noto-cjk/LatestRelease/*
pattern = repo-snapshot.tar.gz
version = noto-cjk repo-snapshot
platform = tar.gz
[googlefonts noto emoji]
distro = Google Fonts
category = font
location = github-release/googlefonts/noto-emoji/LatestRelease/*
pattern = repo-snapshot.tar.gz
version = noto-emoji repo-snapshot
platform = tar.gz
[googlefonts noto fonts]
distro = Google Fonts
category = font
location = github-release/googlefonts/noto-fonts/LatestRelease/*
pattern = repo-snapshot.tar.gz
version = noto-emoji repo-snapshot
platform = tar.gz
[minikube]
distro = Minikube
category = app
nosort = true
location = github-release/kubernetes/minikube/LatestRelease/*
pattern = ([^/]+)(?<!sha256)$
version = $1
[obs]
distro = OBS
category = app
nosort = true
location = github-release/obsproject/obs-studio/OBS*/*
pattern = ([^/]+)\.(exe|zip|dmg)$
version = $1
platform = $2
[rust-analyzer]
distro = rust-analyzer
category = app
nosort = true
location = github-release/rust-analyzer/rust-analyzer/LatestRelease/*
pattern = ([^/]+)$
version = $1
[orchestrator]
distro = orchestrator
category = app
nosort = true
location = github-release/openark/orchestrator/LatestRelease/*
pattern = ([^/]+)$
version = $1

View File

@ -94,10 +94,11 @@ def parseSection(items):
images[key].append(imageinfo)
for image_group in images.values():
image_group.sort(key=lambda k: (LooseVersion(k['version']),
getPlatformPriority(k['platform']),
k['type']),
reverse=True)
if 'nosort' not in items:
image_group.sort(key=lambda k: (LooseVersion(k['version']),
getPlatformPriority(k['platform']),
k['type']),
reverse=True)
i = 0
versions = set()
@ -116,7 +117,7 @@ def getDetail(image_info, urlbase):
image_info['version'],
image_info['platform'],
", %s" % image_info['type'] if image_info['type'] else ''
)
) if image_info['platform'] != "" else image_info['version']
category = image_info.get('category', 'os') or "os"
return (desc, url, category)