Guido van Rossum
dc0b1a1069
Make a few more tests pass with the new I/O library.
...
Fix the truncate() semantics -- it should not affect the current position.
Switch wave.py/chunk.py to struct.unpack_from() to support bytes.
Don't use writelines() on binary files (test_fileinput.py).
2007-04-12 22:55:07 +00:00
Guido van Rossum
b6f1fdc90c
Clean up trailing whitespace.
2007-04-12 22:49:52 +00:00
Guido van Rossum
682faf8fe0
Fix most XXX remarks.
2007-04-12 14:56:58 +00:00
Guido van Rossum
31c3a57480
Test closed, mode attribute; don't test __exit__().
2007-04-12 14:51:49 +00:00
Guido van Rossum
d410395ea7
Make sure that writing an array instance returns the number of bytes,
...
not the number of array elements.
2007-04-12 05:44:49 +00:00
Guido van Rossum
aa43ed95cd
TextIO improvement:
...
- 25% speed increse in tell();
- f.seek(0, 1) now maps to f.seek(f.tell(), 0) instead of to f.tell().
2007-04-12 05:24:24 +00:00
Georg Brandl
57b39e0916
Bug #1697782 : remove all remaining code that uses types.InstanceType.
2007-04-11 19:24:50 +00:00
Guido van Rossum
b5ddcfd2a2
Make array().tofile() work with a new I/O object.
2007-04-11 17:08:28 +00:00
Guido van Rossum
d0712817ac
Re-enable cleanup code.
2007-04-11 16:32:43 +00:00
Guido van Rossum
b9c4c3e455
Speed up next() by disabling snapshot updating then.
2007-04-11 16:07:50 +00:00
Guido van Rossum
cba608cadb
More efficient implementation of tell(); _read_chunk() doesn't have to
...
call self.buffer.tell().
2007-04-11 14:19:59 +00:00
Guido van Rossum
0dd32e246c
Real pickling for bytes.
...
Restore complex pickling.
Use cPickle in io.py.
2007-04-11 05:40:58 +00:00
Guido van Rossum
0ad0812edb
An example of action-at-a-distance: fix the problems I had in test_io.py
...
without touching io.py or test_io.py. The cause of the failure was that
bytes objects didn't pickle right. As a stop-gap measure, I'm providing
bytes pickling via copy_reg. Eventually, we should use a more efficient
protocol, e.g. __reduce_ex__ or __getstate__/__setstate__.
2007-04-11 04:37:43 +00:00
Guido van Rossum
9b76da6a8f
Checkpoint so I can continue to work on this at a different box.
...
There is somewhat working (but slow) code supporting seek/tell for text files,
but extensive testing exposes a bug I can't nail down.
2007-04-11 01:09:03 +00:00
Guido van Rossum
8742977b33
truncate() returns the new size and position.
...
write() returns the number of bytes/characters written/buffered.
FileIO.close() calls self.flush().
Implement readinto() for buffered readers.
Tests th check all these.
Test proper behavior of __enter__/__exit__.
2007-04-10 21:06:59 +00:00
Guido van Rossum
34d69e57e3
Skip large file tests on Windowns and OSX.
...
Reduce large file size to 2**31 (and a bit).
2007-04-10 20:08:41 +00:00
Guido van Rossum
53807dabf0
Implement long positioning (Unix only, probably).
...
Etc., etc.
2007-04-10 19:01:47 +00:00
Guido van Rossum
cce92b27d6
BufferedIOBase and TextIOBase should derive from IOBase, not from RawIOBase!
2007-04-10 14:41:39 +00:00
Guido van Rossum
141f767d46
More cleanup. Renamed BlockingIO to BlockingIOError.
...
Removed unused _PyFileIO class.
Changed inheritance structure.
TODO: do the same kinds of things to TextIO.
2007-04-10 00:22:16 +00:00
Guido van Rossum
ebea9beab3
Bytes should never equal unicode.
...
Add tests for str <cmpop> bytes.
2007-04-09 00:49:13 +00:00
Guido van Rossum
343e97ff7f
For Make Benefit Glorious Nation of Backwards Compatibility,
...
bytes objects can now be compared to anything that supports the buffer API.
2007-04-09 00:43:24 +00:00
Guido van Rossum
62cbc8a261
Make sure that a forked child process exits even if it raises an exception.
2007-04-09 00:41:25 +00:00
Guido van Rossum
933520b5ba
Fix a place where it's pretty clear that a binary open mode was intended.
...
(The new I/O library revealed the problem.)
2007-04-09 00:00:23 +00:00
Guido van Rossum
4f0db6e4a1
Cleanup.
...
Add closed attribute.
Support int argument to open() -- wrapping a file descriptor.
For b/w compat, support readline(n).
Support readlines() and readlines(n).
Flush on __del__.
Added some XXX comments.
2007-04-08 23:59:06 +00:00
Guido van Rossum
b04281592e
Make it possible to instantiate a _FileIO() with an integer file descriptor
...
instead of a filename.
Add a 'closed' attribute.
2007-04-08 17:44:42 +00:00
Guido van Rossum
b8551ae68f
Somehow this contained a bogus reference to "exceptions" which caused
...
"import exceptions" to behave bizarrely.
2007-04-07 03:14:46 +00:00
Guido van Rossum
756aa93763
A class used as an exception should inherit from Exception.
...
(Should be backported to 2.6, really.)
2007-04-07 03:04:01 +00:00
Guido van Rossum
9be5597abf
Add some backwards compatibility stuff.
...
This now appears to work when io.open is substituted for the real open
in fileinput.py -- at least the latter's unit tests pass.
2007-04-07 02:59:27 +00:00
Guido van Rossum
76c5d4d72d
Checkpoint.
...
Some cleanup of test_io.py and io.py.
Added seeking to buffered reader and writer, but no tests yet.
2007-04-06 19:10:29 +00:00
Guido van Rossum
186685905c
Get rid of duplicate definition of BufferedIOBase.
2007-04-06 18:11:47 +00:00
Guido van Rossum
78892e4613
Added a working Text I/O layer, by Mark Russell.
...
This is essentially a checkpoint.
2007-04-06 17:31:18 +00:00
Fred Drake
0e074483e7
make the markup match that of the trunk to avoid insane spread of
...
mystery italics
2007-03-29 23:11:24 +00:00
Guido van Rossum
6b18a5bb32
Fix refcounting bug reported by Amaury Forgeot d'Arc.
2007-03-29 20:49:57 +00:00
Collin Winter
42dae6a89b
Make readonly members defined in C throw an AttributeError on modification. This brings them into sync with Python-level attributes. Fixes bug #1687163 .
2007-03-28 21:44:53 +00:00
Guido van Rossum
d84da1b67a
More fixes related to removal of exception slicing.
2007-03-28 21:03:48 +00:00
Guido van Rossum
782ff275b8
Fix errors in bsddb3 tests due to removal of exception slicing.
...
(There was also a segfault but it disappeared when the tests
stopped erroring out; I presume the segfault is a pre-existing
problem somewhere in a destructor.)
2007-03-28 21:02:43 +00:00
Guido van Rossum
cef2098cfa
Moving xreload to the sandbox for now.
2007-03-28 00:30:15 +00:00
Guido van Rossum
e27dc72308
By default, != returns the opposite of ==, unless the latter returns
...
NotImplemented.
(Is this worth backporting to 2.6? It seems so useful...!)
2007-03-27 22:37:34 +00:00
Guido van Rossum
a4335b1e6b
Looks like this file wasn't checked in.
2007-03-27 22:34:34 +00:00
Collin Winter
e33761dcaa
Fix two bugs related to the remove of exception subscripting.
2007-03-27 04:55:27 +00:00
Collin Winter
3e81ec8c7c
Address some XXXs from Neal Norwitz.
2007-03-23 22:46:49 +00:00
Brett Cannon
ca477b2280
When removing indexing/slicing on exceptions some places were changed
...
inappropriately from ``e[0]`` to ``e.message`` instead of ``e.args[0]``. The
reason it needs to be the last option is the dichotomy of 'message' and 'args':
'message' can be the empty string but args[0] can have a value if more than one
argument was passed.
2007-03-21 22:26:20 +00:00
Guido van Rossum
3a38362592
Fix refleak in compiler.
...
(A symbol table entry was leaked every time a class was compiled.)
2007-03-21 21:26:58 +00:00
Collin Winter
390d29ca74
Remove isCallable() and sequenceIncludes() from the operator module.
2007-03-21 20:10:51 +00:00
Neal Norwitz
7d71fb8132
Little fixes:
...
* make some module variables static to prevent name pollution
* Add some comments to clarify what's going on and some XXXs to address
* Add a space after "for" before (
* exc_value and tb can be NULL in some cases
* Get working on Windows (I think)
2007-03-21 04:45:04 +00:00
Collin Winter
670e692134
Patch #1680961 : remove sys.exitfunc and replace it with a private C API. Also, reimplement atexit in C so it can take advantage of this private API.
2007-03-21 02:57:17 +00:00
Collin Winter
450ee81b22
Use the local python binary to build the docs, not whatever 'python' is on the PATH (which is probably Python 2.x, and we need 3.x).
2007-03-21 02:14:12 +00:00
Collin Winter
65d09d4ee9
Run 2to3 over Doc/tools/.
2007-03-21 02:11:39 +00:00
Guido van Rossum
89df245607
Make test_socket_ssl.py pass by fixing some code that was
...
incorrectly assuming that err.message was the Py3k way of
writing err[0] in 2.x. The correct spelling is err.args[0].
2007-03-19 22:26:27 +00:00
Guido van Rossum
7cba8508af
Use input() now that it is available.
2007-03-19 22:23:59 +00:00