#! /usr/bin/env python # # Simple script to create the table that lists the packages available # for download. This expects the downloadable files and the Makefile # to be in the current directory. # # The output of this script can be pasted directly into the download # page for the documentation. import os import sys from os.path import isfile PKG_TYPES = [ # human name, filename prefix ("HTML", "html"), ("PDF (US-Letter)", "pdf-letter"), ("PDF (A4)", "pdf-a4"), ("PostScript (US-Letter)", "postscript-letter"), ("PostScript (A4)", "postscript-a4"), ("GNU info", "info"), ("iSilo", "isilo"), ("LaTeX", "latex"), ] getversioninfo = os.path.join(os.path.dirname(__file__), "getversioninfo") fp = os.popen('"%s" "%s"' % (sys.executable, getversioninfo), "r") release = fp.readline().strip() fp.close() print '''\
Content | Format | ||
---|---|---|---|
ZIP | GZip | BZip2 | %dK | ''' NO_FILE_TEMPLATE = '''\''' def get_size(prefix, ext): fn = "%s-%s%s" % (prefix, release, ext) return int(round(os.path.getsize(fn) / 1024.0)) def get_file_cell(prefix, ext, have): if have: kb = get_size(prefix, ext) return FILE_TEMPLATE % (release, prefix, release, ext, kb) else: return NO_FILE_TEMPLATE for name, prefix in PKG_TYPES: zip_fn = "%s-%s.zip" % (prefix, release) tgz_fn = "%s-%s.tgz" % (prefix, release) bz2_fn = "%s-%s.tar.bz2" % (prefix, release) have_zip = isfile(zip_fn) have_tgz = isfile(tgz_fn) have_bz2 = isfile(bz2_fn) if have_zip or have_tgz or have_bz2: print " |
%s | " % name print get_file_cell(prefix, ".zip", have_zip) print get_file_cell(prefix, ".tgz", have_tgz) print get_file_cell(prefix, ".tar.bz2", have_bz2) print "