()
return out
Make an html table of the downloads.

    This is for pasting into the GitHub releases page. See GitHub_release().
Make an html table of the downloads.
Make an html table of the downloads .
def table():
    """
    Make an html table of the downloads.

    This is for pasting into the GitHub releases page. See GitHub_release().
    """
    # TODO: Add the file size
    tarball_formatter_dict = tarball_formatter()
    shortversion = get_sympy_short_version()

    tarball_formatter_dict['version'] = shortversion

    md5s = [i.split('\t') for i in md5(print_=False).split('\n')]
    md5s_dict = {name: md5 for md5, name in md5s}

    sizes = [i.split('\t') for i in size(print_=False).split('\n')]
    sizes_dict = {name: size for size, name in sizes}

    table = []

    # http://docs.python.org/2/library/contextlib.html#contextlib.contextmanager. Not
    # recommended as a real way to generate html, but it works better than
    # anything else I've tried.
    @contextmanager
    def tag(name):
        table.append("<%s>" % name)
        yield
        table.append("</%s>" % name)

    with tag('table'):
        with tag('tr'):
            for headname in ["Filename", "Description", "size", "md5"]:
                with tag("th"):
                    table.append(headname)

        for key in descriptions:
            name = get_tarball_name(key)
            with tag('tr'):
                with tag('td'):
                    # code renders better than tt or pre
                    with tag('code'):
                        table.append(name)
                with tag('td'):
                    table.append(descriptions[key].format(**tarball_formatter_dict))
                with tag('td'):
                    table.append(sizes_dict[name])
                with tag('td'):
                    table.append(md5s_dict[name])

    out = ' '.join(table)
    return out
def table ( ) : # TODO: Add the file size tarball_formatter_dict = tarball_formatter ( ) shortversion = get_sympy_short_version ( ) tarball_formatter_dict [ 'version' ] = shortversion md5s = [ i . split ( '\t' ) for i in md5 ( print_ = False ) . split ( '\n' ) ] md5s_dict = { name : md5 for md5 , name in md5s } sizes = [ i . split ( '\t' ) for i in size ( print_ = False ) . split ( '\n' ) ] sizes_dict = { name : size for size , name in sizes } table = [ ] # http://docs.python.org/2/library/contextlib.html#contextlib.contextmanager. Not # recommended as a real way to generate html, but it works better than # anything else I've tried. @ contextmanager def tag ( name ) : table . append ( "<%s>" % name ) yield table . append ( "</%s>" % name ) with tag ( 'table' ) : with tag ( 'tr' ) : for headname in [ "Filename" , "Description" , "size" , "md5" ] : with tag ( "th" ) : table . append ( headname ) for key in descriptions : name = get_tarball_name ( key ) with tag ( 'tr' ) : with tag ( 'td' ) : # code renders better than tt or pre with tag ( 'code' ) : table . append ( name ) with tag ( 'td' ) : table . append ( descriptions [ key ] . format ( * * tarball_formatter_dict ) ) with tag ( 'td' ) : table . append ( sizes_dict [ name ] ) with tag ( 'td' ) : table . append ( md5s_dict [ name ] ) out = ' ' . join ( table ) return out