Files
SnarfCode/scripts/find_rancher_series.py

28 lines
822 B
Python

import urllib.request
import json
import re
releases = {}
for page in range(1, 20):
url = f"https://api.github.com/repos/rancher/rancher/tags?per_page=100&page={page}"
req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
try:
data = json.loads(urllib.request.urlopen(req).read().decode())
except:
break
if not data:
break
for item in data:
name = item['name']
m = re.match(r"^v(2\.\d+)\.(\d+)$", name)
if m:
series = m.group(1)
patch = int(m.group(2))
if series not in releases or patch > releases[series]:
releases[series] = patch
for s in sorted(releases.keys(), key=lambda x: [int(p) for p in x.split('.')]):
print(f"Series v{s}: latest patch is v{s}.{releases[s]}")