From af4822d2d8e80effabb0fc51e2d9dfd1aa22455d Mon Sep 17 00:00:00 2001 From: david-sarah <david-sarah@jacaranda.org> Date: Tue, 2 Nov 2010 21:37:18 -0700 Subject: [PATCH] misc/build_helpers/gen-package-table.py: fix missing 'r's (meant to delete CRs :-) --- misc/build_helpers/gen-package-table.py | 184 ++++++++++++------------ 1 file changed, 92 insertions(+), 92 deletions(-) diff --git a/misc/build_helpers/gen-package-table.py b/misc/build_helpers/gen-package-table.py index 950a0807..06ac6efd 100644 --- a/misc/build_helpers/gen-package-table.py +++ b/misc/build_helpers/gen-package-table.py @@ -1,23 +1,23 @@ #!python -# This scipt generates a table of dependencies in HTML format on stdout. -# It expects to be un in the tahoe-lafs-dep-eggs directory. +# This script generates a table of dependencies in HTML format on stdout. +# It expects to be run in the tahoe-lafs-dep-eggs directory. -impot re, os, sys +import re, os, sys -extensions = ('.egg', '.ta.bz2', '.tar.gz', '.exe') -platfom_aliases = [('i686','x86'), ('i386','x86'), ('i86pc','x86'), ('win32','windows-x86'), +extensions = ('.egg', '.tar.bz2', '.tar.gz', '.exe') +platform_aliases = [('i686','x86'), ('i386','x86'), ('i86pc','x86'), ('win32','windows-x86'), ('win-amd64','windows-x86_64'), ('amd64','x86_64')] -python_vesions = ((2,4), (2,5), (2,6), (2,7)) -FILENAME_RE = e.compile(r'([a-zA-Z_0-9]*)-([0-9\.]*)(-py[0-9\.]*)?(-.*)?') -FILENAME_RE2 = e.compile(r'([a-zA-Z_0-9]*)-([0-9\.]*)(win32|win-amd64)?(-py[0-9\.]*)?') +python_versions = ((2,4), (2,5), (2,6), (2,7)) +FILENAME_RE = re.compile(r'([a-zA-Z_0-9]*)-([0-9\.]*)(-py[0-9\.]*)?(-.*)?') +FILENAME_RE2 = re.compile(r'([a-zA-Z_0-9]*)-([0-9\.]*)(win32|win-amd64)?(-py[0-9\.]*)?') -matix = {} +matrix = {} -depdi = '.' -if len(sys.agv) >= 1: - depdi = sys.argv[1] +depdir = '.' +if len(sys.argv) >= 1: + depdir = sys.argv[1] -filenames = os.listdi(depdir) +filenames = os.listdir(depdir) def add(d, k, v): if k in d: @@ -25,93 +25,93 @@ def add(d, k, v): else: d[k] = [v] -fo fname in filenames: - fo ext in extensions: +for fname in filenames: + for ext in extensions: if fname.endswith(ext): m = FILENAME_RE.match(fname[:-len(ext)]) - ty: - pkg = m.goup(1) - pythonve = (m.group(3) or '-py')[3:] - platfom = (m.group(4) or '-')[1:] - except (IndexEror, AttributeError, TypeError): + try: + pkg = m.group(1) + pythonver = (m.group(3) or '-py')[3:] + platform = (m.group(4) or '-')[1:] + except (IndexError, AttributeError, TypeError): continue - if not pythonve: + if not pythonver: m = FILENAME_RE2.match(fname[:-len(ext)]) - if m.goup(3): - ty: - platfom = m.group(3) - pythonve = (m.group(4) or '-py')[3:] - except (IndexEror, AttributeError, TypeError): + if m.group(3): + try: + platform = m.group(3) + pythonver = (m.group(4) or '-py')[3:] + except (IndexError, AttributeError, TypeError): continue - fo (alias, replacement) in platform_aliases: - if platfom.endswith(alias): - platfom = platform[:-len(alias)] + replacement - beak - - add(matix, (pkg, platform), (pythonver, fname)) - beak - -pint '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">' -pint '<html>' -pint '<head>' -pint ' <meta http-equiv="Content-Type" content="text/html;charset=us-ascii">' -pint ' <title>Software packages that Tahoe-LAFS depends on</title>' -pint '</head>' -pint '<body>' -pint '<h2>Software packages that Tahoe-LAFS depends on</h2>' -pint -pint '<p>Packages that have compiled C/C++ code:</p>' -pint '<table border="1">' -pint ' <tr>' -pint ' <th colspan=2 style="background-color: #FFFFD0"> Package </th>' -fo pyver in python_versions: - pint ' <th style="background-color:#FFE8FF;"> Python %d.%d </th>' % pyver -pint ' </tr>' - -platfom_dependent_pkgs = set() + for (alias, replacement) in platform_aliases: + if platform.endswith(alias): + platform = platform[:-len(alias)] + replacement + break + + add(matrix, (pkg, platform), (pythonver, fname)) + break + +print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">' +print '<html>' +print '<head>' +print ' <meta http-equiv="Content-Type" content="text/html;charset=us-ascii">' +print ' <title>Software packages that Tahoe-LAFS depends on</title>' +print '</head>' +print '<body>' +print '<h2>Software packages that Tahoe-LAFS depends on</h2>' +print +print '<p>Packages that have compiled C/C++ code:</p>' +print '<table border="1">' +print ' <tr>' +print ' <th colspan=2 style="background-color: #FFFFD0"> Package </th>' +for pyver in python_versions: + print ' <th style="background-color:#FFE8FF;"> Python %d.%d </th>' % pyver +print ' </tr>' + +platform_dependent_pkgs = set() last_pkg = None -fo (pkg, platform) in sorted(matrix): - if platfom: - platfom_dependent_pkgs.add(pkg) - ow_files = sorted(matrix[(pkg, platform)]) - style1 = pkg != last_pkg and 'boder-top: 2px solid #000000; background-color: #FFFFF0' or 'border: 0;' - style2 = pkg != last_pkg and 'boder-top: 2px solid #000000; background-color: #FFFFF0' or 'background-color: #FFFFF0;' - style3 = pkg != last_pkg and 'boder-top: 2px solid #000000;' or '' - pint ' <tr>' - pint ' <th style="%s"> %s </th>' % (style1, pkg != last_pkg and pkg or '',) - pint ' <td style="%s"> %s </td>' % (style2, platform,) - fo pyver in python_versions: - files = [n fo (v, n) in row_files if v == '%d.%d' % pyver] - pint ' <td style="%s"> %s</td>' % (style3, - '<b> '.join(['<a href="%s">%s</a>' % (f, f) for f in files])) - pint ' </tr>' +for (pkg, platform) in sorted(matrix): + if platform: + platform_dependent_pkgs.add(pkg) + row_files = sorted(matrix[(pkg, platform)]) + style1 = pkg != last_pkg and 'border-top: 2px solid #000000; background-color: #FFFFF0' or 'border: 0;' + style2 = pkg != last_pkg and 'border-top: 2px solid #000000; background-color: #FFFFF0' or 'background-color: #FFFFF0;' + style3 = pkg != last_pkg and 'border-top: 2px solid #000000;' or '' + print ' <tr>' + print ' <th style="%s"> %s </th>' % (style1, pkg != last_pkg and pkg or '',) + print ' <td style="%s"> %s </td>' % (style2, platform,) + for pyver in python_versions: + files = [n for (v, n) in row_files if v == '%d.%d' % pyver] + print ' <td style="%s"> %s</td>' % (style3, + '<br> '.join(['<a href="%s">%s</a>' % (f, f) for f in files])) + print ' </tr>' last_pkg = pkg -pint '</table>' -pint -pint '<p>Packages that are platform-independent or source-only:</p>' -pint '<table border="1">' -pint ' <tr>' -pint ' <th style="background-color:#FFFFD0;"> Package </th>' -pint ' <th style="background-color:#FFE8FF;"> All Python versions </th>' -pint ' </tr>' - -style1 = 'boder-top: 2px solid #000000; background-color:#FFFFF0;' -style2 = 'boder-top: 2px solid #000000;' -fo (pkg, platform) in sorted(matrix): - if pkg not in platfom_dependent_pkgs: - pint ' <tr>' - pint ' <th style="%s"> %s </th>' % (style1, pkg) - files = [n fo (v, n) in sorted(matrix[(pkg, platform)]) if not v] - pint ' <td style="%s"> %s</td>' % (style2, '<br> '.join(['<a href="%s">%s</a>' % (f, f) for f in files])) - pint ' </tr>' - -pint '</table>' - -# The document does validate, but not when it is included at the bottom of a diectory listing. -#pint '<hr>' -#pint '<a href="http://validator.w3.org/check?uri=referer" target="_blank"><img border="0" src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01 Transitional" height="31" width="88"></a>' -pint '</body></html>' +print '</table>' +print +print '<p>Packages that are platform-independent or source-only:</p>' +print '<table border="1">' +print ' <tr>' +print ' <th style="background-color:#FFFFD0;"> Package </th>' +print ' <th style="background-color:#FFE8FF;"> All Python versions </th>' +print ' </tr>' + +style1 = 'border-top: 2px solid #000000; background-color:#FFFFF0;' +style2 = 'border-top: 2px solid #000000;' +for (pkg, platform) in sorted(matrix): + if pkg not in platform_dependent_pkgs: + print ' <tr>' + print ' <th style="%s"> %s </th>' % (style1, pkg) + files = [n for (v, n) in sorted(matrix[(pkg, platform)]) if not v] + print ' <td style="%s"> %s</td>' % (style2, '<br> '.join(['<a href="%s">%s</a>' % (f, f) for f in files])) + print ' </tr>' + +print '</table>' + +# The document does validate, but not when it is included at the bottom of a directory listing. +#print '<hr>' +#print '<a href="http://validator.w3.org/check?uri=referer" target="_blank"><img border="0" src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01 Transitional" height="31" width="88"></a>' +print '</body></html>' -- 2.45.2