Example #1
0
def format_para(p):
    if not p: return ''
    doc = ''
    if p.startswith('>>>'): doc += '<pre>\n%s\n</pre>\n' % q(p)
    else:
        if not re.search('^- ', p, re.M): doc += '<p>%s</p>\n' % q(p)
        else:
            p = re.split('(?m)^- ', p)
            if p[0]: doc += '<p>%s</p>\n' % q(p[0].strip())
            del p[0]
            doc += ('<ul>%s</ul>\n'
                    % '\n'.join(['<li>%s</li>' % q(p.strip()) for p in p]))
    return doc
Example #2
0
def format_para(p):
    if not p: return ''
    doc = ''
    if p.startswith('>>>'): doc += '<pre>\n%s\n</pre>\n' % q(p)
    else:
        if not re.search('^- ', p, re.M): doc += '<p>%s</p>\n' % q(p)
        else:
            p = re.split('(?m)^- ', p)
            if p[0]: doc += '<p>%s</p>\n' % q(p[0].strip())
            del p[0]
            doc += ('<ul>%s</ul>\n' %
                    '\n'.join(['<li>%s</li>' % q(p.strip()) for p in p]))
    return doc
Example #3
0
def format(tree, level, prefix=''):
    name = tree['name']
    if prefix: fullname = '%s-%s' % (prefix, name)
    else: fullname = name
    ##### Main doc
    doc = []
    if level > 1:
        doc = ['<h%d id="%s">' % (level, fullname)]
        try: doc.append(format_synopsis(tree['doc']['synopsis']))
        except TypeError:
            doc.append(name)
        doc.append('</h%d>\n' % level)
        if tree.has_key('bases'):
            doc.append('<p>Bases: %s.</p>\n' % ', '.join(tree['bases']))
    try: lst = [tree['doc']['summary']] + tree['doc']['details']
    except TypeError: lst = tree['doc']
    for p in lst: doc.append(format_para(p))
    ##### Table of contents
    routines = tree['routines'].keys()
    classes = tree['classes'].keys()
    data = tree['data'].keys()
    if routines:
        routines.sort()
        if level == 1: doc.append('<p><b>Functions:</b></p>\n')
        else: doc.append('<p><b>Methods:</b></p>\n')
        doc.append('<ul class="ltoc">\n')
        for r in routines:
            synopsis = tree['routines'][r]['synopsis']
            doc.append('<li>%s</li>\n' % format_synopsis(synopsis, True,
                                                         fullname))
        doc.append('</ul>\n')
    if classes:
        classes.sort()
        doc.append('<p><b>Classes:</b></p>\n')
        doc.append('<ul class="ltoc">\n')
        for r in classes:
            synopsis = tree['classes'][r]['doc']['synopsis']
            doc.append('<li>%s</li>\n' % format_synopsis(synopsis, True,
                                                         fullname))
        doc.append('</ul>\n')
    if data:
        data.sort()
        doc.append('<p><b>Data:</b></p>\n')
        doc.append('<ul class="ltoc">\n')
        for r in data:
            doc.append('<li>%s = %s</li>\n' % (r, q(tree['data'][r])))
        doc.append('</ul>\n')
    ##### Functions
    if routines:
        if level == 1: doc.append('<hr/>\n')
        doc.append('<dl>\n')
        for r in routines:
            doc.append('<dt id="%s-%s">' % (fullname, r))
            rt = tree['routines'][r]
            doc.append('%s</dt>\n<dd>' % format_synopsis(rt['synopsis']))
            for p in [rt['summary']] + rt['details']:
                doc.append(format_para(p))
            doc.append('</dd>\n')
        doc.append('</dl>\n')
    ##### Classes
    if classes:
        for r in classes:
            doc.append('<hr/>\n')
            doc.append(format(tree['classes'][r], level+1, fullname))
    return ''.join(doc)
Example #4
0
def format(tree, level, prefix=''):
    name = tree['name']
    if prefix: fullname = '%s-%s' % (prefix, name)
    else: fullname = name
    ##### Main doc
    doc = []
    if level > 1:
        doc = ['<h%d id="%s">' % (level, fullname)]
        try:
            doc.append(format_synopsis(tree['doc']['synopsis']))
        except TypeError:
            doc.append(name)
        doc.append('</h%d>\n' % level)
        if tree.has_key('bases'):
            doc.append('<p>Bases: %s.</p>\n' % ', '.join(tree['bases']))
    try:
        lst = [tree['doc']['summary']] + tree['doc']['details']
    except TypeError:
        lst = tree['doc']
    for p in lst:
        doc.append(format_para(p))
    ##### Table of contents
    routines = tree['routines'].keys()
    classes = tree['classes'].keys()
    data = tree['data'].keys()
    if routines:
        routines.sort()
        if level == 1: doc.append('<p><b>Functions:</b></p>\n')
        else: doc.append('<p><b>Methods:</b></p>\n')
        doc.append('<ul class="ltoc">\n')
        for r in routines:
            synopsis = tree['routines'][r]['synopsis']
            doc.append('<li>%s</li>\n' %
                       format_synopsis(synopsis, True, fullname))
        doc.append('</ul>\n')
    if classes:
        classes.sort()
        doc.append('<p><b>Classes:</b></p>\n')
        doc.append('<ul class="ltoc">\n')
        for r in classes:
            synopsis = tree['classes'][r]['doc']['synopsis']
            doc.append('<li>%s</li>\n' %
                       format_synopsis(synopsis, True, fullname))
        doc.append('</ul>\n')
    if data:
        data.sort()
        doc.append('<p><b>Data:</b></p>\n')
        doc.append('<ul class="ltoc">\n')
        for r in data:
            doc.append('<li>%s = %s</li>\n' % (r, q(tree['data'][r])))
        doc.append('</ul>\n')
    ##### Functions
    if routines:
        if level == 1: doc.append('<hr/>\n')
        doc.append('<dl>\n')
        for r in routines:
            doc.append('<dt id="%s-%s">' % (fullname, r))
            rt = tree['routines'][r]
            doc.append('%s</dt>\n<dd>' % format_synopsis(rt['synopsis']))
            for p in [rt['summary']] + rt['details']:
                doc.append(format_para(p))
            doc.append('</dd>\n')
        doc.append('</dl>\n')
    ##### Classes
    if classes:
        for r in classes:
            doc.append('<hr/>\n')
            doc.append(format(tree['classes'][r], level + 1, fullname))
    return ''.join(doc)