python/dist/src/Lib multifile.py,1.22,1.23

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
participants (1)
-
rhettingerīŧ users.sourceforge.net