summaryrefslogtreecommitdiffstats
path: root/Lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix __all__ to the current list of exported modules (must pass theBarry Warsaw2001-10-091-3/+4
| | | | tests in test_email.py).
* Fix [ #465502 ] urllib2: urlopen unicode problemJeremy Hylton2001-10-091-67/+36
| | | | | | | | When checking for strings use, ! if isinstance(uri, (types.StringType, types.UnicodeType)): Also get rid of some dodgy code that tried to guess whether attributes were callable or not.
* Add a test for get_all() returning failobj. msg_20.txt is a sampleBarry Warsaw2001-10-092-0/+28
| | | | message with multiple CC: fields, used in the get_all() test.
* get_all(): We never returned failobj if we found no matching headers.Barry Warsaw2001-10-091-0/+4
| | | | Fix that, and also make the docstring describe failobj.
* SMTPServer.__init__(): The asyncore.dispatcher base class has a methodBarry Warsaw2001-10-091-3/+1
| | | | set_reuse_addr() that does the setsockopt fiddling. Use it instead.
* Add entry parameter to HList.item_cget. Fixes bug #466981.Martin v. Löwis2001-10-091-2/+2
|
* It turned out not so difficult to support old-style numbers (thoseGuido van Rossum2001-10-091-5/+6
| | | | | | | without the Py_TPFLAGS_CHECKTYPES flag) in the wrappers. This required a few changes in test_descr.py to cope with the fact that the complex type has __int__, __long__ and __float__ methods that always raise an exception.
* Patch #468647: Fix exception propagation in asyncore.Martin v. Löwis2001-10-091-34/+38
|
* A brand new implementation of Profile.calibrate(). This measures anTim Peters2001-10-091-41/+62
| | | | | | | | | actual run of the profiler, instead of timing a simplified simulation of part of what the profiler does. It computes a constant about 60% higher on my Win98SE box than the old method, and the new constant appears much more realistic. Deleted the undocumented simple(), instrumented(), and profiler_simulation() methods (which existed only to support the previous calibration method).
* Added tests that check getboolean() with the newly allowed values fromFred Drake2001-10-082-0/+38
| | | | SF patch #467580.
* Change all occurrences of verify(x == y) into vereq(x, y), since whenGuido van Rossum2001-10-081-374/+376
| | | | | | | | this type of test fails, vereq() does a better job of reporting than verify(). Change vereq(x, y) to use "not x == y" rather than "x != y" -- it makes a difference is some overloading tests.
* Put the deprecated .ignore() method back where it was.Tim Peters2001-10-081-4/+4
|
* Widespread random code cleanup.Tim Peters2001-10-081-87/+54
| | | | | | | | | | | | | | | | | | | | | | | | Most of this code was old enough to vote. Examples of cleanups: + Backslashes were used for line continuation even inside unclosed bracket structures, from back in the days that was still needed. + There was no use of % formats, and e.g. the old fpformat module was still used to format floats "by hand" in conjunction with rjust(). + There was even use of a do-nothing .ignore() method to tack on to the end of a chain of method calls, else way back when Python would print the non-None result (as it does now in an interactive session -- it *used* to do that in batch mode too). + Perhaps controversial (although I can't imagine why for real <wink>), used augmented assignment where helpful. Stuff like self.total_calls = self.total_calls + other.total_calls is just plain harder to follow than self.total_calls += other.total_calls
* merged port binding error message patchSteven M. Gava2001-10-071-14/+33
|
* merged win spawn patchSteven M. Gava2001-10-071-1/+1
|
* merged status bar packing patchSteven M. Gava2001-10-071-2/+4
|
* Only close sockets if they have been created. Reported by Blake Winton.Martin v. Löwis2001-10-075-6/+15
|
* Typo repair in comment.Tim Peters2001-10-071-1/+1
|
* Guido points out that the comments for self.cur[2] were subtly butTim Peters2001-10-071-17/+29
| | | | | | | | seriously wrong. This started out by just fixing the docs, but then it occurred to me that the doc confusion propagated into misleading vrbl names too, so I also renamed those to match reality. As a result, INO the time computations are much easier to understand now (within the limitations of vast quantities of 3-character names <wink>).
* At Guido's request, changed the code that's conceptually asserting stuffTim Peters2001-10-071-11/+9
| | | | to use assert stmts (was raising unexpected kinds of exceptions).
* Repair some longstanding comment errors:Tim Peters2001-10-071-4/+4
| | | | | | + The last index in the timing tuple is 4, not 5 (noted by Guido). + The poorly named trace_dispatch_i works with float return values too.
* Remove code and docs for the OldProfile and HotProfile classes: codeTim Peters2001-10-071-115/+0
| | | | | hasn't worked in years, docs were wrong, and they aren't interesting anymore regardless.
* The fix to profile semantics broke the miserable but advertised way toTim Peters2001-10-051-25/+26
| | | | | derive Profile subclasses. This patch repairs that, restoring negative tuple indices. Yuck? You bet.
* ReferenceError is now built-in, so pick it up from the right place.Fred Drake2001-10-051-1/+3
| | | | It still needs to be here to preserve the API.
* Martijn Pieters convinced me that when readline() strips the trailingGuido van Rossum2001-10-051-2/+5
| | | | newline from a multifile part, it should also strip a trailing \r\n.
* Enable GC for new-style instances. This touches lots of files, sinceGuido van Rossum2001-10-051-0/+19
| | | | | | | | | | | | | | | | | | | | | | many types were subclassable but had a xxx_dealloc function that called PyObject_DEL(self) directly instead of deferring to self->ob_type->tp_free(self). It is permissible to set tp_free in the type object directly to _PyObject_Del, for non-GC types, or to _PyObject_GC_Del, for GC types. Still, PyObject_DEL was a tad faster, so I'm fearing that our pystone rating is going down again. I'm not sure if doing something like void xxx_dealloc(PyObject *self) { if (PyXxxCheckExact(self)) PyObject_DEL(self); else self->ob_type->tp_free(self); } is any faster than always calling the else branch, so I haven't attempted that -- however those types whose own dealloc is fancier (int, float, unicode) do use this pattern.
* With Andrew's blessing: distutils version number is now 1.0.3.Thomas Heller2001-10-051-1/+1
|
* Explicitely list the metadata attributes to showThomas Heller2001-10-051-295/+304
| | | | | in the gui. Updated to include the new exe-file.
* SMTPServer.__init__(): Print the start information on the DEBUGSTREAMBarry Warsaw2001-10-051-1/+2
| | | | so that it can be suppressed.
* Non-failing test for SF bug #467059.Fred Drake2001-10-041-0/+42
|
* Apply modified SF patch 467580: ConfigParser.getboolean(): FALSE, TRUE.Guido van Rossum2001-10-041-6/+8
| | | | | | | | | | | | | | This patch allows ConfigParser.getboolean() to interpret TRUE, FALSE, YES, NO, ON and OFF instead just '0' and '1'. While just allowing '0' and '1' sounds more correct users often demand to use more descriptive directives in configuration files. Instead of forcing every programmer do brew his own solution a system should include the batteries for this. [My modification to the patch is a slight rewording of the docstring and use of lowercase instead of uppercase templates. The code is still case sensitive. GvR.]
* run_suite(): If testclass is not available, provide an even more generalFred Drake2001-10-041-4/+8
| | | | | | | error message. run_unittest(): Provide the testclass to run_suite() so it can construct the error message. This closes SF bug #467763.
* TestIterators: Tim Peters suggests a more succinct spelling ofBarry Warsaw2001-10-041-12/+4
| | | | "listify an iterator".
* More test data for test_email.pyBarry Warsaw2001-10-042-0/+49
|
* test_header_splitter(), test_body_line_iterator(): Move the test dataBarry Warsaw2001-10-041-70/+32
| | | | into tests/data/msg_*.txt files.
* Give me back my page breaks.Barry Warsaw2001-10-0412-22/+22
|
* Script arguments localhost:localport and remotehost:remoteport are nowBarry Warsaw2001-10-041-18/+28
| | | | | | | | | | | | | optional, and default to `localhost' and ports 8025 and 25 respectively. SMTPChannel.__init__(): Calculate __fqdn using socket.getfqdn() instead of gethostby*() and friends. This allows us to run this script even if we don't have access to dns (assuming the localhost is configured properly). Also, restore my precious page breaks. Hands off, oh Whitespace Normalizer!
* Updated to reflect the rationalized profiler event reporting.Fred Drake2001-10-041-46/+27
|
* This test relied on hard tab characters, so failed after whitespaceTim Peters2001-10-041-5/+5
| | | | normalization. Now uses \t in strings instead of hard tabs.
* class_docstrings(): The new-style class tests should use new-styleTim Peters2001-10-041-4/+4
| | | | classes (sheesh!).
* Whitespace normalization.Tim Peters2001-10-0418-65/+65
|
* SF bug [#467331] ClassType.__doc__ always None.Tim Peters2001-10-042-6/+35
| | | | | | | | | For a dynamically constructed type object, fill in the tp_doc slot with a copy of the argument dict's "__doc__" value, provided the latter exists and is a string. NOTE: I don't know what to do if it's a Unicode string, so in that case tp_doc is left NULL (which shows up as Py_None if you do Class.__doc__). Note that tp_doc holds a char*, not a general PyObject*.
* Hopefully fix the profiler right. Add a test suite that checks thatGuido van Rossum2001-10-043-18/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it deals correctly with some anomalous cases; according to this test suite I've fixed it right. The anomalous cases had to do with 'exception' events: these aren't generated when they would be most helpful, and the profiler has to work hard to recover the right information. The problems occur when C code (such as hasattr(), which is used as the example here) calls back into Python code and clears an exception raised by that Python code. Consider this example: def foo(): hasattr(obj, "bar") Where obj is an instance from a class like this: class C: def __getattr__(self, name): raise AttributeError The profiler sees the following sequence of events: call (foo) call (__getattr__) exception (in __getattr__) return (from foo) Previously, the profiler would assume the return event returned from __getattr__. An if statement checking for this condition and raising an exception was commented out... This version does the right thing.
* Add some more test cases to be sure we do the right thing in various cases.Fred Drake2001-10-031-0/+117
|
* Undo previous patch; it did not quite work out.Fred Drake2001-10-031-1/+1
|
* Set .addr in a few more places (patch approved by Sam Rushing)Andrew M. Kuchling2001-10-031-0/+2
|
* dynamics(): add a dummy __getattr__ method to the C class so that theGuido van Rossum2001-10-031-0/+5
| | | | | | test for modifying __getattr__ works, now that slot_tp_getattr_hook zaps the slot if there's no hook. Added an XXX comment with a ref back to slot_tp_getattr_hook.
* remove empty __del__ method from BaseRequestHandler to avoid cyclic garbageSkip Montanaro2001-10-031-3/+0
| | | | loss for no reason.
* Made the classmethod docstring test a bit less trivial.Tim Peters2001-10-031-3/+3
|
* SF bug [#467336] doctest failures w/ new-style classes.Tim Peters2001-10-034-8/+167
| | | | | | | | | | Taught doctest about static methods, class methods, and property docstrings in new-style classes. As for inspect.py/pydoc.py before it, the new stuff needed didn't really fit into the old architecture (but was less of a strain to force-fit here). New-style class docstrings still aren't found, but that's the subject of a different bug and I want to fix that right instead of hacking around it in doctest.