_scripts: fix latestver.py (#2756)
Fix latestver to sort rc and beta versions before normal releases.
This commit is contained in:
parent
689e08260b
commit
fe100bcb11
@ -2,11 +2,25 @@
|
||||
import json
|
||||
import urllib
|
||||
import sys
|
||||
from distutils.version import LooseVersion
|
||||
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
|
||||
|
||||
ver = sys.argv[1]
|
||||
d = json.loads(urllib.urlopen('https://golang.org/dl/?mode=json&include=all').read())
|
||||
ds = sorted(d, reverse=True, key=lambda it: LooseVersion(it['version'][2:]))
|
||||
ds = sorted(d, reverse=True, key=lambda it: splitver(it['version'][2:]))
|
||||
for x in ds:
|
||||
if x['version'][:len(ver)] == ver:
|
||||
print x['version']
|
||||
|
Loading…
Reference in New Issue
Block a user