def plugin_interface():
 b = pudge.browser.Browser(['nose.plugins.base'], None)
 m = b.modules()[0]
 intf = list([c for c in m.classes() if (c.name == 'IPluginInterface')])[0]
 doc = wikirst(intf.doc())
 methods = [m for m in intf.routines() if (not m.name.startswith('_'))]
 methods.sort((lambda a, b: cmp(a.name, b.name)))
 mdoc = []
 for m in methods:
  mdoc.append(('*%s%s*\n\n' % (m.name, formatargspec(m.obj))))
  mdoc.append((' ' + m.doc().replace('\n', '\n ')))
  mdoc.append('\n\n')
 doc = (doc + ''.join(mdoc))
 return doc

def plugin_interface ( ) : b = pudge . browser . Browser ( [ 'nose.plugins.base' ] , None ) m = b . modules ( ) [ 0 ] intf = list ( [ c for c in m . classes ( ) if ( c . name == 'IPluginInterface' ) ] ) [ 0 ] doc = wikirst ( intf . doc ( ) ) methods = [ m for m in intf . routines ( ) if ( not m . name . startswith ( '_' ) ) ] methods . sort ( ( lambda a , b : cmp ( a . name , b . name ) ) ) mdoc = [ ] for m in methods : mdoc . append ( ( '*%s%s*\n\n' % ( m . name , formatargspec ( m . obj ) ) ) ) mdoc . append ( ( ' ' + m . doc ( ) . replace ( '\n' , '\n ' ) ) ) mdoc . append ( '\n\n' ) doc = ( doc + '' . join ( mdoc ) ) return doc
use pudge browser to generate interface docs from nose .