github.com/neilgarb/delve@v1.9.2-nobreaks/_scripts/latestver.py (about) 1 #!/usr/bin/python 2 import json 3 import urllib 4 import sys 5 import re 6 7 def splitver(x): 8 v = re.split(r'([^\d]+)', x) 9 v[0] = int(v[0]) 10 if len(v) > 2: 11 v[2] = int(v[2]) 12 if len(v) > 4: 13 v[4] = int(v[4]) 14 # make rc/beta versions sort before normal versions 15 if len(v) > 3 and v[3] == '.': 16 v[3] = '~' 17 elif len(v) == 3: 18 v.append('~') 19 return v 20 21 ver = sys.argv[1] 22 d = json.loads(urllib.urlopen('https://go.dev/dl/?mode=json&include=all').read()) 23 ds = sorted(d, reverse=True, key=lambda it: splitver(it['version'][2:])) 24 for x in ds: 25 if x['version'][:len(ver)] == ver: 26 print x['version'] 27 exit(0)