(filename, ignore_heading=False)
return docstring, first_par, erow + 1 + start_row
Extract a module-level docstring, if any
Extract a module-level docstring, if any
Extract a module - level docstring if any
def extract_docstring(filename, ignore_heading=False):
    """ Extract a module-level docstring, if any
    """
    lines = file(filename).readlines()
    start_row = 0
    if lines[0].startswith('#!'):
        lines.pop(0)
        start_row = 1
    docstring = ''
    first_par = ''
    tokens = tokenize.generate_tokens(iter(lines).next)
    for tok_type, tok_content, _, (erow, _), _ in tokens:
        tok_type = token.tok_name[tok_type]
        if tok_type in ('NEWLINE', 'COMMENT', 'NL', 'INDENT', 'DEDENT'):
            continue
        elif tok_type == 'STRING':
            docstring = eval(tok_content)
            # If the docstring is formatted with several paragraphs, extract
            # the first one:
            paragraphs = '\n'.join(
                line.rstrip() for line
                in docstring.split('\n')).split('\n\n')
            if paragraphs:
                if ignore_heading:
                    if len(paragraphs) > 1:
                        first_par = re.sub('\n', ' ', paragraphs[1])
                        first_par = ((first_par[:95] + '...')
                                     if len(first_par) > 95 else first_par)
                    else:
                        raise ValueError("Docstring not found by gallery",
                                         "Please check your example's layout",
                                         " and make sure it's correct")
                else:
                    first_par = paragraphs[0]

        break
    return docstring, first_par, erow + 1 + start_row
def extract_docstring ( filename , ignore_heading = False ) : lines = file ( filename ) . readlines ( ) start_row = 0 if lines [ 0 ] . startswith ( '#!' ) : lines . pop ( 0 ) start_row = 1 docstring = '' first_par = '' tokens = tokenize . generate_tokens ( iter ( lines ) . next ) for tok_type , tok_content , _ , ( erow , _ ) , _ in tokens : tok_type = token . tok_name [ tok_type ] if tok_type in ( 'NEWLINE' , 'COMMENT' , 'NL' , 'INDENT' , 'DEDENT' ) : continue elif tok_type == 'STRING' : docstring = eval ( tok_content ) # If the docstring is formatted with several paragraphs, extract # the first one: paragraphs = '\n' . join ( line . rstrip ( ) for line in docstring . split ( '\n' ) ) . split ( '\n\n' ) if paragraphs : if ignore_heading : if len ( paragraphs ) > 1 : first_par = re . sub ( '\n' , ' ' , paragraphs [ 1 ] ) first_par = ( ( first_par [ : 95 ] + '...' ) if len ( first_par ) > 95 else first_par ) else : raise ValueError ( "Docstring not found by gallery" , "Please check your example's layout" , " and make sure it's correct" ) else : first_par = paragraphs [ 0 ] break return docstring , first_par , erow + 1 + start_row