[Python-checkins] python/dist/src/Lib inspect.py,1.38,1.39

ping@users.sourceforge.net ping@users.sourceforge.net
Fri, 29 Nov 2002 19:53:17 -0800


Update of /cvsroot/python/python/dist/src/Lib
In directory sc8-pr-cvs1:/tmp/cvs-serv18609

Modified Files:
	inspect.py 
Log Message:
getdoc():
    Remove leading whitespace from first line; remove leading and
    trailing blank lines from docstrings.  (Patch 645938 submitted
    by David Goodger.)


Index: inspect.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/inspect.py,v
retrieving revision 1.38
retrieving revision 1.39
diff -C2 -d -r1.38 -r1.39
*** inspect.py	15 Aug 2002 14:59:00 -0000	1.38
--- inspect.py	30 Nov 2002 03:53:14 -0000	1.39
***************
*** 276,288 ****
          return None
      else:
!         margin = None
          for line in lines[1:]:
              content = len(string.lstrip(line))
!             if not content: continue
!             indent = len(line) - content
!             if margin is None: margin = indent
!             else: margin = min(margin, indent)
!         if margin is not None:
              for i in range(1, len(lines)): lines[i] = lines[i][margin:]
          return string.join(lines, '\n')
  
--- 276,296 ----
          return None
      else:
!         # Find minimum indentation of any non-blank lines after first line.
!         margin = sys.maxint
          for line in lines[1:]:
              content = len(string.lstrip(line))
!             if content:
!                 indent = len(line) - content
!                 margin = min(margin, indent)
!         # Remove indentation.
!         if lines:
!             lines[0] = lines[0].lstrip()
!         if margin < sys.maxint:
              for i in range(1, len(lines)): lines[i] = lines[i][margin:]
+         # Remove any trailing or leading blank lines.
+         while lines and not lines[-1]:
+             lines.pop()
+         while lines and not lines[0]:
+             lines.pop(0)
          return string.join(lines, '\n')