85 lines · 2.3 KB · Text
RawDownload
#! /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 osimport 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 '''\<table border="1" cellpadding="3" align="center">  <thead>    <tr bgcolor="#99ccff"><th rowspan="2">Content</th>                          <th colspan="3">Format</th></tr>    <tr bgcolor="#99ccff"><th>ZIP</th><th>GZip</th><th>BZip2</th></tr>    </thead>  <tbody>''' # formatted using FILE_TEMPLATE % (release, prefix, release, extension)FILE_TEMPLATE = '''\        <td><a href="../../ftp/python/doc/%s/%s-%s%s"            >%dK</a></td>''' NO_FILE_TEMPLATE = '''\        <td>&nbsp;</td>''' 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)     have_some = have_zip or have_tgz or have_bz2     if not have_some:        print "    <!--"    print "    <tr><td>%s</td>" % 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 "      </tr>"    if not have_some:        print "      -->" print '''\    </tbody></table>'''