class_docstr: Tools for generating an example page from a file
class_docstr_tok: ["Tools","for","generating","an","example","page","from","a","file"]
docstr: Extract a module-level docstring
          
docstr_tok: ["Extract","a","module-level","docstring"]
code: def extract_docstring(self):
      """Extract a module-level docstring"""
      lines = open(self.filename).readlines()
      start_row = 0
      if lines[0].startswith("#!"):
          lines.pop(0)
          start_row = 1
  
      docstring = ""
      first_par = ""
      tokens = tokenize.generate_tokens(lines.pop)
      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 len(paragraphs) > 0:
                  first_par = paragraphs[0]
          break
  
      self.docstring = docstring
      self.short_desc = first_par
      self.end_line = erow + 1 + start_row
  
imports: import sys
  import os
  import glob
  import token
  import tokenize
  import shutil
  import json
  import matplotlib
  import mpld3
  from matplotlib import image
  from matplotlib.figure import Figure
label_desc: Use image node_id 12 for calling the ExampleGenerator obj's underlying member method code with example usage: obj.extract_docstring() without return types