diff options
author | Fabian Affolter <mail@fabian-affolter.ch> | 2012-05-29 19:30:09 +0200 |
---|---|---|
committer | Fabian Affolter <mail@fabian-affolter.ch> | 2012-05-29 19:30:09 +0200 |
commit | e1492426c345e153664968f87feb782cffa68198 (patch) | |
tree | 16a19310a61cc38da9a0a5948e5b4a849918d9fa | |
download | alpine-stats-e1492426c345e153664968f87feb782cffa68198.tar.bz2 alpine-stats-e1492426c345e153664968f87feb782cffa68198.tar.xz |
Initial commit for grabbing package data
-rw-r--r-- | packages.py | 60 | ||||
-rw-r--r-- | packages.py~ | 60 |
2 files changed, 120 insertions, 0 deletions
diff --git a/packages.py b/packages.py new file mode 100644 index 0000000..a3cebf5 --- /dev/null +++ b/packages.py @@ -0,0 +1,60 @@ +import os +import sys +import urllib2 +import tarfile + +def grab(url): + data = urllib2.urlopen(url) + localFile = open('APKINDEX.tar.gz', 'w') + localFile.write(data.read()) + localFile.close() + + tar = tarfile.open('APKINDEX.tar.gz') + tar.extract('APKINDEX', path=".") + tar.close() + +# fobj = open('APKINDEX', 'r') +# for line in fobj: +# if line.startswith('o'): +# count = count + 1 +# fobj.close() +# print "Total: ", count + + countStd = 0 + countDev = 0 + countDoc = 0 + countLib = 0 + total = 0 + + fobj = open('APKINDEX', 'r') + for line in fobj: + if line.startswith('P'): + if line[len(line)-4:len(line)-1] == 'dev': + countDev = countDev + 1 + elif line[len(line)-4:len(line)-1] == 'doc': + countDoc = countDoc + 1 + elif line[len(line)-5:len(line)-1] == 'libs': + countLib = countLib + 1 + else: + countStd = countStd + 1 + fobj.close() + total = countStd + countDev + countDoc + countLib + numbers = (countStd, countDev, countDoc, countLib, total) + return numbers + +def clean(): + os.remove('APKINDEX.tar.gz') + os.remove('APKINDEX') + +def main(argv): + url = 'http://nl.alpinelinux.org/alpine/v%s/packages/main/APKINDEX.tar.gz' % argv + #url = 'http://ancient.alpinelinux.org/alpine/v%s/apks/INDEX.md5.gz' % argv + numbers = grab(url) + + print "| '''%s'''\n| %s\n| %s\n| %s\n| %s\n| %s\n|-" \ + % (argv, numbers[4], numbers[0], numbers[1], numbers[2], numbers[3]) + + clean() + +if __name__ == "__main__": + main(sys.argv[1]) diff --git a/packages.py~ b/packages.py~ new file mode 100644 index 0000000..395d6f4 --- /dev/null +++ b/packages.py~ @@ -0,0 +1,60 @@ +import os +import sys +import urllib2 +import tarfile + +def grab(url): + data = urllib2.urlopen(url) + localFile = open('APKINDEX.tar.gz', 'w') + localFile.write(data.read()) + localFile.close() + + tar = tarfile.open('APKINDEX.tar.gz') + tar.extract('APKINDEX', path=".") + tar.close() + +# fobj = open('APKINDEX', 'r') +# for line in fobj: +# if line.startswith('o'): +# count = count + 1 +# fobj.close() +# print "Total: ", count + + countStd = 0 + countDev = 0 + countDoc = 0 + countLib = 0 + total = 0 + + fobj = open('APKINDEX', 'r') + for line in fobj: + if line.startswith('P'): + if line[len(line)-4:len(line)-1] == 'dev': + countDev = countDev + 1 + elif line[len(line)-4:len(line)-1] == 'doc': + countDoc = countDoc + 1 + elif line[len(line)-5:len(line)-1] == 'libs': + countLib = countLib + 1 + else: + countStd = countStd + 1 + fobj.close() + total = countStd + countDev + countDoc + countLib + numbers = (countStd, countDev, countDoc, countLib, total) + return numbers + +def clean(): + os.remove('APKINDEX.tar.gz') + os.remove('APKINDEX') + +def main(argv): + #url = 'http://nl.alpinelinux.org/alpine/v%s/packages/main/APKINDEX.tar.gz' % argv + url = 'http://ancient.alpinelinux.org/alpine/v%s/apks/INDEX.md5.gz' % argv + numbers = grab(url) + + print "| '''%s'''\n| %s\n| %s\n| %s\n| %s\n| %s\n|-" \ + % (argv, numbers[4], numbers[0], numbers[1], numbers[2], numbers[3]) + + clean() + +if __name__ == "__main__": + main(sys.argv[1]) |