[Python-checkins] CVS: python/dist/src/Lib StringIO.py,1.13,1.14

Barry Warsaw python-dev@python.org
Tue, 12 Dec 2000 15:16:57 -0800


Update of /cvsroot/python/python/dist/src/Lib
In directory slayer.i.sourceforge.net:/tmp/cvs-serv19434

Modified Files:
	StringIO.py 
Log Message:
Change the file's indentation from tabs to 4 spaces per level.


Index: StringIO.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/StringIO.py,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -r1.13 -r1.14
*** StringIO.py	2000/12/12 23:12:23	1.13
--- StringIO.py	2000/12/12 23:16:51	1.14
***************
*** 31,152 ****
  
  try:
! 	from errno import EINVAL
  except ImportError:
! 	EINVAL = 22
  
  EMPTYSTRING = ''
  
  class StringIO:
! 	def __init__(self, buf = ''):
! 		self.buf = buf
! 		self.len = len(buf)
  		self.buflist = []
! 		self.pos = 0
! 		self.closed = 0
! 		self.softspace = 0
! 	def close(self):
! 		if not self.closed:
! 			self.closed = 1
! 			del self.buf, self.pos
! 	def isatty(self):
! 		if self.closed:
! 			raise ValueError, "I/O operation on closed file"
! 		return 0
! 	def seek(self, pos, mode = 0):
! 		if self.closed:
! 			raise ValueError, "I/O operation on closed file"
! 		if self.buflist:
! 			self.buf += EMPTYSTRING.join(self.buflist)
! 			self.buflist = []
! 		if mode == 1:
! 			pos += self.pos
! 		elif mode == 2:
! 			pos += self.len
! 		self.pos = max(0, pos)
! 	def tell(self):
! 		if self.closed:
! 			raise ValueError, "I/O operation on closed file"
! 		return self.pos
! 	def read(self, n = -1):
! 		if self.closed:
! 			raise ValueError, "I/O operation on closed file"
! 		if self.buflist:
! 			self.buf += EMPTYSTRING.join(self.buflist)
! 			self.buflist = []
! 		if n < 0:
! 			newpos = self.len
! 		else:
! 			newpos = min(self.pos+n, self.len)
! 		r = self.buf[self.pos:newpos]
! 		self.pos = newpos
! 		return r
! 	def readline(self, length=None):
! 		if self.closed:
! 			raise ValueError, "I/O operation on closed file"
! 		if self.buflist:
! 			self.buf += EMPTYSTRING.join(self.buflist)
! 			self.buflist = []
! 		i = self.buf.find('\n', self.pos)
! 		if i < 0:
! 			newpos = self.len
! 		else:
! 			newpos = i+1
! 		if length is not None:
! 			if self.pos + length < newpos:
! 				newpos = self.pos + length
! 		r = self.buf[self.pos:newpos]
! 		self.pos = newpos
! 		return r
! 	def readlines(self, sizehint = 0):
! 		total = 0
! 		lines = []
! 		line = self.readline()
! 		while line:
! 			lines.append(line)
! 			total += len(line)
! 			if 0 < sizehint <= total:
! 				break
! 			line = self.readline()
! 		return lines
! 	def truncate(self, size=None):
! 		if self.closed:
! 			raise ValueError, "I/O operation on closed file"
! 		if size is None:
! 			size = self.pos
! 		elif size < 0:
! 			raise IOError(EINVAL, "Negative size not allowed")
! 		elif size < self.pos:
! 			self.pos = size
! 		self.buf = self.getvalue()[:size]
! 	def write(self, s):
! 		if self.closed:
! 			raise ValueError, "I/O operation on closed file"
! 		if not s: return
! 		if self.pos > self.len:
! 			self.buflist.append('\0'*(self.pos - self.len))
! 			self.len = self.pos
! 		newpos = self.pos + len(s)
! 		if self.pos < self.len:
! 			if self.buflist:
! 				self.buf += EMPTYSTRING.join(self.buflist)
! 				self.buflist = []
! 			self.buflist = [self.buf[:self.pos], s, self.buf[newpos:]]
! 			self.buf = ''
! 			if newpos > self.len:
! 				self.len = newpos
! 		else:
! 			self.buflist.append(s)
! 			self.len = newpos
! 		self.pos = newpos
! 	def writelines(self, list):
! 		self.write(EMPTYSTRING.join(list))
! 	def flush(self):
! 		if self.closed:
! 			raise ValueError, "I/O operation on closed file"
! 	def getvalue(self):
! 		if self.buflist:
! 			self.buf += EMPTYSTRING.join(self.buflist)
! 			self.buflist = []
! 		return self.buf
  
  
--- 31,164 ----
  
  try:
!     from errno import EINVAL
  except ImportError:
!     EINVAL = 22
  
  EMPTYSTRING = ''
  
  class StringIO:
!     def __init__(self, buf = ''):
! 	self.buf = buf
! 	self.len = len(buf)
! 	self.buflist = []
! 	self.pos = 0
! 	self.closed = 0
! 	self.softspace = 0
! 
!     def close(self):
! 	if not self.closed:
! 	    self.closed = 1
! 	    del self.buf, self.pos
! 
!     def isatty(self):
! 	if self.closed:
! 	    raise ValueError, "I/O operation on closed file"
! 	return 0
! 
!     def seek(self, pos, mode = 0):
! 	if self.closed:
! 	    raise ValueError, "I/O operation on closed file"
! 	if self.buflist:
! 	    self.buf += EMPTYSTRING.join(self.buflist)
! 	    self.buflist = []
! 	if mode == 1:
! 	    pos += self.pos
! 	elif mode == 2:
! 	    pos += self.len
! 	self.pos = max(0, pos)
! 
!     def tell(self):
! 	if self.closed:
! 	    raise ValueError, "I/O operation on closed file"
! 	return self.pos
! 
!     def read(self, n = -1):
! 	if self.closed:
! 	    raise ValueError, "I/O operation on closed file"
! 	if self.buflist:
! 	    self.buf += EMPTYSTRING.join(self.buflist)
! 	    self.buflist = []
! 	if n < 0:
! 	    newpos = self.len
! 	else:
! 	    newpos = min(self.pos+n, self.len)
! 	r = self.buf[self.pos:newpos]
! 	self.pos = newpos
! 	return r
! 
!     def readline(self, length=None):
! 	if self.closed:
! 	    raise ValueError, "I/O operation on closed file"
! 	if self.buflist:
! 	    self.buf += EMPTYSTRING.join(self.buflist)
! 	    self.buflist = []
! 	i = self.buf.find('\n', self.pos)
! 	if i < 0:
! 	    newpos = self.len
! 	else:
! 	    newpos = i+1
! 	if length is not None:
! 	    if self.pos + length < newpos:
! 		newpos = self.pos + length
! 	r = self.buf[self.pos:newpos]
! 	self.pos = newpos
! 	return r
! 
!     def readlines(self, sizehint = 0):
! 	total = 0
! 	lines = []
! 	line = self.readline()
! 	while line:
! 	    lines.append(line)
! 	    total += len(line)
! 	    if 0 < sizehint <= total:
! 		break
! 	    line = self.readline()
! 	return lines
! 
!     def truncate(self, size=None):
! 	if self.closed:
! 	    raise ValueError, "I/O operation on closed file"
! 	if size is None:
! 	    size = self.pos
! 	elif size < 0:
! 	    raise IOError(EINVAL, "Negative size not allowed")
! 	elif size < self.pos:
! 	    self.pos = size
! 	self.buf = self.getvalue()[:size]
! 
!     def write(self, s):
! 	if self.closed:
! 	    raise ValueError, "I/O operation on closed file"
! 	if not s: return
! 	if self.pos > self.len:
! 	    self.buflist.append('\0'*(self.pos - self.len))
! 	    self.len = self.pos
! 	newpos = self.pos + len(s)
! 	if self.pos < self.len:
! 	    if self.buflist:
! 		self.buf += EMPTYSTRING.join(self.buflist)
  		self.buflist = []
! 	    self.buflist = [self.buf[:self.pos], s, self.buf[newpos:]]
! 	    self.buf = ''
! 	    if newpos > self.len:
! 		self.len = newpos
! 	else:
! 	    self.buflist.append(s)
! 	    self.len = newpos
! 	self.pos = newpos
! 
!     def writelines(self, list):
! 	self.write(EMPTYSTRING.join(list))
! 
!     def flush(self):
! 	if self.closed:
! 	    raise ValueError, "I/O operation on closed file"
! 
!     def getvalue(self):
! 	if self.buflist:
! 	    self.buf += EMPTYSTRING.join(self.buflist)
! 	    self.buflist = []
! 	return self.buf
  
  
***************
*** 154,196 ****
  
  def test():
! 	import sys
! 	if sys.argv[1:]:
! 		file = sys.argv[1]
! 	else:
! 		file = '/etc/passwd'
! 	lines = open(file, 'r').readlines()
! 	text = open(file, 'r').read()
! 	f = StringIO()
! 	for line in lines[:-2]:
! 		f.write(line)
! 	f.writelines(lines[-2:])
! 	if f.getvalue() != text:
! 		raise RuntimeError, 'write failed'
! 	length = f.tell()
! 	print 'File length =', length
! 	f.seek(len(lines[0]))
! 	f.write(lines[1])
! 	f.seek(0)
! 	print 'First line =', `f.readline()`
! 	here = f.tell()
! 	line = f.readline()
! 	print 'Second line =', `line`
! 	f.seek(-len(line), 1)
! 	line2 = f.read(len(line))
! 	if line != line2:
! 		raise RuntimeError, 'bad result after seek back'
! 	f.seek(len(line2), 1)
! 	list = f.readlines()
! 	line = list[-1]
! 	f.seek(f.tell() - len(line))
! 	line2 = f.read()
! 	if line != line2:
! 		raise RuntimeError, 'bad result after seek back from EOF'
! 	print 'Read', len(list), 'more lines'
! 	print 'File length =', f.tell()
! 	if f.tell() != length:
! 		raise RuntimeError, 'bad length'
! 	f.close()
  
  if __name__ == '__main__':
! 	test()
--- 166,208 ----
  
  def test():
!     import sys
!     if sys.argv[1:]:
! 	file = sys.argv[1]
!     else:
! 	file = '/etc/passwd'
!     lines = open(file, 'r').readlines()
!     text = open(file, 'r').read()
!     f = StringIO()
!     for line in lines[:-2]:
! 	f.write(line)
!     f.writelines(lines[-2:])
!     if f.getvalue() != text:
! 	raise RuntimeError, 'write failed'
!     length = f.tell()
!     print 'File length =', length
!     f.seek(len(lines[0]))
!     f.write(lines[1])
!     f.seek(0)
!     print 'First line =', `f.readline()`
!     here = f.tell()
!     line = f.readline()
!     print 'Second line =', `line`
!     f.seek(-len(line), 1)
!     line2 = f.read(len(line))
!     if line != line2:
! 	raise RuntimeError, 'bad result after seek back'
!     f.seek(len(line2), 1)
!     list = f.readlines()
!     line = list[-1]
!     f.seek(f.tell() - len(line))
!     line2 = f.read()
!     if line != line2:
! 	raise RuntimeError, 'bad result after seek back from EOF'
!     print 'Read', len(list), 'more lines'
!     print 'File length =', f.tell()
!     if f.tell() != length:
! 	raise RuntimeError, 'bad length'
!     f.close()
  
  if __name__ == '__main__':
!     test()