Commit Graph

44 Commits

Author SHA1 Message Date
Serhiy Storchaka 8d7d6bcc25 Issue #11311: StringIO.readline(0) now returns an empty string as all other
file-like objects.
2013-02-13 12:26:58 +02:00
Benjamin Peterson 4fa68ab10b raise an ValueError in getvalue() on closed StringIO (closes #12161)
Thanks for Catalin Iacob for the patch.
2011-05-26 09:56:41 -05:00
Benjamin Peterson 414721614f make StringIO like other file objects in that readline(-1) has no effect #7348 2009-12-13 17:29:16 +00:00
Antoine Pitrou e08dd117fa Fix a py3k warning in the StringIO module (exhibited in test_codecencodings_cn) 2009-10-14 18:12:54 +00:00
Andrew M. Kuchling 882680462c [Bug #1622533] Make docstrings raw strings because they contain control characters (\0, \1) 2007-01-05 14:22:17 +00:00
Walter Dörwald 0af5d93d8a SF patch #1359365: file and cStringIO raise a ValueError when next() is called
after calling close(). Change StringIO, so that it behaves the same way.
2006-03-15 08:23:53 +00:00
Raymond Hettinger 6065d32325 SF bug #951915: fix bug in StringIO.truncate - length not changed
(Patch by Armin Rigo.)
2004-12-20 23:51:53 +00:00
Raymond Hettinger 513c8bd6f2 Arghh, checked in wrong draft. Replacing with correct one. 2004-09-23 07:00:47 +00:00
Raymond Hettinger 0336e1fe8c Use local variables in StringIO.write().
Makes it easier on the eyes and a bit more snappy.
2004-09-23 06:43:25 +00:00
Raymond Hettinger deb4da500b Add missing docstrings. 2004-03-14 07:54:37 +00:00
Raymond Hettinger 6ec099658a SF patch #907403: Improvements to cStringIO.writelines()
The writelines() method now accepts any iterable argument and writes
the lines one at a time rather than using ''.join(lines) followed by
a single write.  Results in considerable memory savings and makes
the method suitable for use with generator expressions.
2004-03-08 18:17:31 +00:00
Walter Dörwald 70a6b49821 Replace backticks with repr() or "%r"
From SF patch #852334.
2004-02-12 17:35:32 +00:00
Tim Peters 58eb11cf62 Whitespace normalization. 2004-01-18 20:29:55 +00:00
Walter Dörwald c2fcf9bb6b Make the module docstring a raw string, so that the backslash in
"read until end of line ('\n') or EOF" will be treated literally.
Fixes SF bug #860155.
2003-12-15 10:16:09 +00:00
Martin v. Löwis 9e62ff287b Patch #822994: Consolidate tests for self.closed. 2003-10-18 10:20:42 +00:00
Guido van Rossum c1265bd9a6 Make StringIO its own iterator, similar to real files.
(This should also be done to cStringIO.)
2003-01-31 16:04:15 +00:00
Fred Drake d679e09970 write(): Special case the common situation of a stream that's only
being used to dump output (no seeks), so we can avoid a lot
          of extra checks being made.
2002-09-17 18:10:34 +00:00
Walter Dörwald 65230a2de7 Remove uses of the string and types modules:
x in string.whitespace => x.isspace()
type(x) in types.StringTypes => isinstance(x, basestring)
isinstance(x, types.StringTypes) => isinstance(x, basestring)
type(x) is types.StringType => isinstance(x, str)
type(x) == types.StringType => isinstance(x, str)
string.split(x, ...) => x.split(...)
string.join(x, y) => y.join(x)
string.zfill(x, ...) => x.zfill(...)
string.count(x, ...) => x.count(...)
hasattr(types, "UnicodeType") => try: unicode except NameError:
type(x) != types.TupleTuple => not isinstance(x, tuple)
isinstance(x, types.TupleType) => isinstance(x, tuple)
type(x) is types.IntType => isinstance(x, int)

Do not mention the string module in the rlcompleter docstring.

This partially applies SF patch http://www.python.org/sf/562373
(with basestring instead of string). (It excludes the changes to
unittest.py and does not change the os.stat stuff.)
2002-06-03 15:58:32 +00:00
Tim Peters 8ac1495a6a Whitespace normalization. 2002-05-23 15:15:30 +00:00
Raymond Hettinger d1fa3db52d Added docstrings excerpted from Python Library Reference.
Closes patch 556161.
2002-05-15 02:56:03 +00:00
Michael W. Hudson e1c67d1dc0 Make StringIO work in --disable-unicode builds... 2002-05-13 09:42:16 +00:00
Jeremy Hylton e037665f99 Use isinstance() in preference to comparison of type by is. 2002-05-10 21:00:35 +00:00
Guido van Rossum 8ca162f417 Partial introduction of bools where appropriate. 2002-04-07 06:36:23 +00:00
Neal Norwitz 9fb289d826 SF #515000, print result of f.tell() in test() instead of ignoring 2002-02-11 17:52:18 +00:00
Marc-André Lemburg f853be980e Restore Python 2.1 StringIO.py behaviour: support concatenating
Unicode string snippets to larger Unicode strings.

This fix should also go into Python 2.2.1.
2002-01-06 17:15:05 +00:00
Marc-André Lemburg e47df7a211 StringIO patch #462596: let's [c]StringIO accept read buffers on
input to .write() too.
2001-09-24 17:34:52 +00:00
Barry Warsaw bdefa0b3de __iter__(): New method so that StringIO's can participate in the
iterator protocol.
2001-09-22 04:34:54 +00:00
Marc-André Lemburg 85d6edfc83 Remove silly EMPTYSTRING global. Saves a global lookup. 2001-02-09 13:37:37 +00:00
Skip Montanaro e99d5ea25b added __all__ lists to a number of Python modules
added test script and expected output file as well
this closes patch 103297.
__all__ attributes will be added to other modules without first submitting
a patch, just adding the necessary line to the test script to verify
more-or-less correct implementation.
2001-01-20 19:54:20 +00:00
Fred Drake a63bd1c65b Untabify! (Barry, this is gonna cost you a bottle of wine! ;) 2000-12-13 20:23:11 +00:00
Barry Warsaw c140131995 Change the file's indentation from tabs to 4 spaces per level. 2000-12-12 23:16:51 +00:00
Barry Warsaw c7ed0e3c13 Accept Finn Bock's patch #102208 to hardcode EINVAL to 22 when errno
can't be imported.  This makes StringIO.py work with Jython.

Also, get rid of the string module by converting to string methods.

Shorten some lines by using augmented assignment where appropriate.
2000-12-12 23:12:23 +00:00
Guido van Rossum b636dc67ed [ Bug #116636 ] Bug in StringIO.write()
http://sourceforge.net/bugs/?func=detailbug&bug_id=116636&group_id=5470
bobalex@rsv.ricoh.com

Bug report: If the file position is less than the end of the "file",
and a write is performed extending past then end of the file, the data
string is corrupted.

Solution: in write(), when writing past the end, properly set self.len
when newpos is > self.len.
2000-10-12 16:45:37 +00:00
Fred Drake e0a7f4f9d5 Add truncate() method to StringIO objects.
This closes SourceForge bug #115527.
2000-09-28 04:21:06 +00:00
Martin v. Löwis a05fa1d9d4 Support sizehint in StringIO.readlines, as documented. 2000-09-19 11:07:44 +00:00
Guido van Rossum 98d9fd3e68 Simple changes by Gerrit Holl - move author acknowledgements out of
docstrings into comments.
2000-02-28 15:12:25 +00:00
Guido van Rossum 4acc25bd39 Mass patch by Ka-Ping Yee:
1. Comments at the beginning of the module, before
       functions, and before classes have been turned
       into docstrings.

    2. Tabs are normalized to four spaces.

Also, removed the "remove" function from dircmp.py, which reimplements
list.remove() (it must have been very old).
2000-02-02 15:10:15 +00:00
Fred Drake ce4ba897be Raise the right exception (ValueError) for attempted I/O on closed StringIO
objects; this makes the emulation of file objects a bit better, and the
exceptions explain things a bit better.
1998-08-18 17:43:08 +00:00
Guido van Rossum 2e2525fd3c Patch by Lars Wirzenius to allow f.readline(length). 1997-07-25 14:56:01 +00:00
Guido van Rossum d3901028cf Sjoerd's StringIO speed-up 1996-06-19 14:54:19 +00:00
Guido van Rossum f7476c5088 fix default arg for read() -- should be -1 1996-01-25 17:34:14 +00:00
Sjoerd Mullender aa3e163fa1 Added flush() method. 1995-07-19 11:21:21 +00:00
Guido van Rossum 0daa13b188 set softspace to 0 in __init__ 1995-06-22 18:45:04 +00:00
Guido van Rossum 85d8945590 Two new generally useful modules: types defines names for all built-in types,
StringIO implements pseudo files writing into and reading from strings.
1994-06-23 11:53:27 +00:00