2024-05-08 17:30:57 +00:00
|
|
|
#!/usr/bin/python3
|
2021-03-01 16:23:05 +00:00
|
|
|
import json
|
2024-05-08 17:30:57 +00:00
|
|
|
import urllib.request
|
2021-03-01 16:23:05 +00:00
|
|
|
import sys
|
2021-10-25 19:38:58 +00:00
|
|
|
import re
|
|
|
|
|
|
|
|
def splitver(x):
|
|
|
|
v = re.split(r'([^\d]+)', x)
|
|
|
|
v[0] = int(v[0])
|
|
|
|
if len(v) > 2:
|
|
|
|
v[2] = int(v[2])
|
|
|
|
if len(v) > 4:
|
|
|
|
v[4] = int(v[4])
|
|
|
|
# make rc/beta versions sort before normal versions
|
|
|
|
if len(v) > 3 and v[3] == '.':
|
|
|
|
v[3] = '~'
|
|
|
|
elif len(v) == 3:
|
|
|
|
v.append('~')
|
|
|
|
return v
|
2021-03-01 16:23:05 +00:00
|
|
|
|
|
|
|
ver = sys.argv[1]
|
2024-05-08 17:30:57 +00:00
|
|
|
d = json.loads(urllib.request.urlopen('https://go.dev/dl/?mode=json&include=all').read())
|
2021-10-25 19:38:58 +00:00
|
|
|
ds = sorted(d, reverse=True, key=lambda it: splitver(it['version'][2:]))
|
2021-07-24 18:14:45 +00:00
|
|
|
for x in ds:
|
2021-03-01 16:23:05 +00:00
|
|
|
if x['version'][:len(ver)] == ver:
|
2024-05-08 17:30:57 +00:00
|
|
|
print(x['version'])
|
2021-03-01 16:23:05 +00:00
|
|
|
exit(0)
|