Skip to content

Instantly share code, notes, and snippets.

@ThFabba
Created January 16, 2019 18:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ThFabba/592205b8dd9153f669ed4eb61f3610e1 to your computer and use it in GitHub Desktop.
Save ThFabba/592205b8dd9153f669ed4eb61f3610e1 to your computer and use it in GitHub Desktop.
import re
import sys
import urllib2
revisions = dict()
urls = [
'http://iso.reactos.org/livecd/',
'http://iso.reactos.org/bootcd/',
# 'http://iso.reactos.org/regtestcd/'
]
for url in urls:
data = urllib2.urlopen(url)
data = data.read()
iter = re.finditer('<tr><td class="n"><a href="[^"]*">([^\-]+)-([^\-]+)((?:-(?:[^\-]+))?).(7z|iso)</a></td>.*<td class="s">(.*)M</td>.*</tr>', data)
foundany = False
for match in iter:
foundany = True
g = match.groups()
rev = g[1]
type = g[0] + g[2] + ' (' + g[3] + ')'
size = g[4]
if 'patch' in type:
continue
if not rev.isdigit(): #or int(rev) < 59000:
continue
if not rev in revisions:
revisions[rev] = dict()
revisions[rev][type] = size
revs = sorted(revisions.keys())
revList = '[]' #'["' + '","'.join(revs) + '"]'
types = set()
for r in revs:
for k in revisions[r].keys():
types.add(k)
typeSeries = []
for t in types:
serdata = []
for r in revs:
if t in revisions[r]:
serdata.append('[' + r + ',' + revisions[r][t] + ']')
series = '{"name":"' + t + '","data":[' + ','.join(serdata) + ']}'
typeSeries.append(series)
print('{"revs":' + revList + ',')
print('"sizes":[' + ','.join(typeSeries) + ']}')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment