[Python-checkins] python/dist/src/Lib multifile.py,1.22,1.23

rhettinger at users.sourceforge.net rhettinger at users.sourceforge.net
Tue May 4 04:21:54 EDT 2004


Update of /cvsroot/python/python/dist/src/Lib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27200

Modified Files:
	multifile.py 
Log Message:
Stacks based on lists work better and read more clearly when they
grow and shrink on the right.



Index: multifile.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/multifile.py,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** multifile.py	22 Sep 2002 09:01:08 -0000	1.22
--- multifile.py	4 May 2004 08:21:52 -0000	1.23
***************
*** 39,43 ****
      def __init__(self, fp, seekable=1):
          self.fp = fp
!         self.stack = [] # Grows down
          self.level = 0
          self.last = 0
--- 39,43 ----
      def __init__(self, fp, seekable=1):
          self.fp = fp
!         self.stack = []
          self.level = 0
          self.last = 0
***************
*** 45,49 ****
              self.seekable = 1
              self.start = self.fp.tell()
!             self.posstack = [] # Grows down
  
      def tell(self):
--- 45,49 ----
              self.seekable = 1
              self.start = self.fp.tell()
!             self.posstack = []
  
      def tell(self):
***************
*** 89,94 ****
          # No?  OK, try to match a boundary.
          # Return the line (unstripped) if we don't.
!         for i in range(len(self.stack)):
!             sep = self.stack[i]
              if marker == self.section_divider(sep):
                  self.last = 0
--- 89,93 ----
          # No?  OK, try to match a boundary.
          # Return the line (unstripped) if we don't.
!         for i, sep in enumerate(reversed(self.stack)):
              if marker == self.section_divider(sep):
                  self.last = 0
***************
*** 131,137 ****
          if self.level > 0:
              raise Error, 'bad MultiFile.push() call'
!         self.stack.insert(0, sep)
          if self.seekable:
!             self.posstack.insert(0, self.start)
              self.start = self.fp.tell()
  
--- 130,136 ----
          if self.level > 0:
              raise Error, 'bad MultiFile.push() call'
!         self.stack.append(sep)
          if self.seekable:
!             self.posstack.append(self.start)
              self.start = self.fp.tell()
  
***************
*** 144,150 ****
              abslastpos = self.lastpos + self.start
          self.level = max(0, self.level - 1)
!         del self.stack[0]
          if self.seekable:
!             self.start = self.posstack.pop(0)
              if self.level > 0:
                  self.lastpos = abslastpos - self.start
--- 143,149 ----
              abslastpos = self.lastpos + self.start
          self.level = max(0, self.level - 1)
!         self.stack.pop()
          if self.seekable:
!             self.start = self.posstack.pop()
              if self.level > 0:
                  self.lastpos = abslastpos - self.start




More information about the Python-checkins mailing list