[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