parameters: (path)
return_statement: return (begin, end)
docstring: :param path: path to python example
      :return: tuple with two numbers
function: def excerpt_boundaries(path):
      """
  
      :param path: path to python example
      :return: tuple with two numbers
      """
      lines = []
      with open(path) as source:
          lines = source.readlines()
      begin = 1
      end = len(lines)
      for index, line in enumerate(lines):
          if begin == 1 and ('commons.user' in line or 'admin' in line):
              begin = index + 1
              break
      prints = spaces = False
      for index, line in reversed(list(enumerate(lines))):
          if index < end:
              if not prints and line.startswith('print'):
                  prints = True
              elif prints and not line.strip():
                  spaces = True
              elif prints and spaces and line.strip():
                  end = index + 1
                  break
  
      return (begin, end)
function_tokens: def excerpt_boundaries ( path ) : lines = [ ] with open ( path ) as source : lines = source . readlines ( ) begin = 1 end = len ( lines ) for index , line in enumerate ( lines ) : if begin == 1 and ( 'commons.user' in line or 'admin' in line ) : begin = index + 1 break prints = spaces = False for index , line in reversed ( list ( enumerate ( lines ) ) ) : if index < end : if not prints and line . startswith ( 'print' ) : prints = True elif prints and not line . strip ( ) : spaces = True elif prints and spaces and line . strip ( ) : end = index + 1 break return ( begin , end )