Commit Graph

45 Commits

Author SHA1 Message Date
Guido van Rossum 47b9ff6ba1 Restructure comparison dramatically. There is no longer a default
*ordering* between objects; there is only a default equality test
(defined by an object being equal to itself only).  Read the comment
in object.c.  The current implementation never uses a three-way
comparison to compute a rich comparison, but it does use a rich
comparison to compute a three-way comparison.  I'm not quite done
ripping out all the calls to PyObject_Compare/Cmp, or replacing
tp_compare implementations with tp_richcompare implementations;
but much of that has happened (to make most unit tests pass).

The following tests still fail, because I need help deciding
or understanding:

test_codeop -- depends on comparing code objects
test_datetime -- need Tim Peters' opinion
test_marshal -- depends on comparing code objects
test_mutants -- need help understanding it

The problem with test_codeop and test_marshal is this: these tests
compare two different code objects and expect them to be equal.
Is that still a feature we'd like to support?  I've temporarily
removed the comparison and hash code from code objects, so they
use the default (equality by pointer only) comparison.

For the other two tests, run them to see for yourself.
(There may be more failing test with "-u all".)

A general problem with getting lots of these tests to pass is
the reality that for object types that have a natural total ordering,
implementing __cmp__ is much more convenient than implementing
__eq__, __ne__, __lt__, and so on.  Should we go back to allowing
__cmp__ to provide a total ordering?  Should we provide some other
way to implement rich comparison with a single method override?
Alex proposed a __key__() method; I've considered a __richcmp__()
method.  Or perhaps __cmp__() just shouldn't be killed off...
2006-08-24 00:41:19 +00:00
Guido van Rossum e2b70bcf74 Get rid of dict.has_key(). Boy this has a lot of repercussions!
Not all code has been fixed yet; this is just a checkpoint...
The C API still has PyDict_HasKey() and _HasKeyString(); not sure
if I want to change those just yet.
2006-08-18 22:13:04 +00:00
Guido van Rossum 65810fee5e SF patch 1495675: Remove types.InstanceType and new.instance
(Collin Winter)
2006-05-26 19:12:38 +00:00
Guido van Rossum e4dea98e5a Fix the unit tests by adding dispatch tables for DateTime and Binary.
I'm not convinced this is the right thing to do...  InstanceType makes no sense any longer.
2006-04-21 13:45:00 +00:00
Andrew M. Kuchling bdb3901001 [Bug #1164912] Ensure Datetime wrapper class .value attribute is an 8-bit string, not a Unicode string 2005-12-04 19:11:17 +00:00
Skip Montanaro 174dd2219d Add better datetime support to xmlrpclib module. Closes patch #1120353. 2005-05-14 20:54:16 +00:00
Fred Drake 22c0706a58 fix decoding in _stringify to not depend on the default encoding
(closes SF bug #1115989)
2005-02-11 17:59:08 +00:00
Fred Drake ba613c3410 accept datetime.datetime instances when marshalling;
dateTime.iso8601 elements still unmarshal into xmlrpclib.DateTime objects
2005-02-10 18:33:30 +00:00
Raymond Hettinger fe59dc1bd8 Revert previous checkin. 2005-02-07 15:28:45 +00:00
Raymond Hettinger f715366f23 Reduce the usage of the types module. 2005-02-07 14:16:21 +00:00
Fredrik Lundh 7069c31bbb removed info@pythonware.com reference
(should probably remove all traces of _xmlrpclib, but I'll leave that
for another day.)
2004-10-13 06:48:37 +00:00
Martin v. Löwis 12237b3a19 Replace yield with sequence class. Fixes #1009803. 2004-08-22 16:04:50 +00:00
Martin v. Löwis 37af986ebf Bump minimum Python version to 2.1. Fixes #1009803. 2004-08-20 07:31:37 +00:00
Andrew M. Kuchling 5962f457b4 [Bug #841757] Patch from /F to allow Unicode strings as struct keys 2004-06-05 12:35:58 +00:00
Raymond Hettinger cc523fc53d SF patch #834015: Remove imports of unused modules
(Contributed by George Yoshida.)
2003-11-02 09:47:05 +00:00
Martin v. Löwis 45394c281d Patch #531629: Add multicall support. 2003-10-31 13:49:36 +00:00
Walter Dörwald f0dfc7ac5c Fix a bunch of typos in documentation, docstrings and comments.
(From SF patch #810751)
2003-10-20 14:01:56 +00:00
Martin v. Löwis 541342f82c Patch #764470: Fix marshalling of faults. Will backport to 2.2. 2003-07-12 07:53:04 +00:00
Gustavo Niemeyer d5b8090e4c Made DateTime's constructor accept a time.struct_time class,
besides plain tuples.
2003-06-16 02:49:42 +00:00
Tim Peters c2659cff5d Whitespace normalization. 2003-05-12 20:19:37 +00:00
Andrew M. Kuchling a4c2b7485b [Patch #628208] Add optional support for the 'nil' extension 2003-04-25 00:26:51 +00:00
Skip Montanaro bfcbfa7c46 move imports in Binary class to top level to avoid repeated imports.
use cStringIO if available.
2003-04-24 19:51:31 +00:00
Guido van Rossum 68468eba63 Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
Skip Montanaro 9a7c96a2bc add support for Python's bool type to xmlrpclib - patch # 559288 2003-01-22 18:17:25 +00:00
Fredrik Lundh 768c98bb0b patch #624180 (part 2 of 2):
use unquote on authentication strings, to allow users to embed
@ and : in user names and passwords (from Phillip Eby)
2002-11-01 17:14:16 +00:00
Fredrik Lundh 1303c7cb16 add support for basic authentication, based on patch #624180
by Phillip J. Eby
2002-10-22 18:23:00 +00:00
Raymond Hettinger 46ac8eb3c8 Code modernization. Replace v=s[i]; del s[i] with single lookup v=s.pop(i) 2002-06-30 03:39:14 +00:00
Fredrik Lundh 3d9addd55a merged with SLAB codebase (version 1.0.1) 2002-06-27 21:36:21 +00:00
Raymond Hettinger 10ff706e27 Replaced boolean tests with is None. 2002-06-02 03:04:52 +00:00
Raymond Hettinger 54f0222547 SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
Neal Norwitz 1ae2875336 re was already imported in the module, no need to re-import 2002-03-26 16:23:28 +00:00
Fredrik Lundh b6ab93f433 partial merge with current pythonware codebase:
- use repr instead of implied str for doubles
- updated version number to 1.0.0 (for 2.2 final)
2001-12-19 21:40:04 +00:00
Skip Montanaro 5449e08412 test for int and long int overflow (allows operation on 64-bit platforms)
closes patch 470254
2001-10-17 22:53:33 +00:00
Fred Drake 2a2d970ef9 Remove unused import; reported by Neal Norwitz. 2001-10-17 01:51:04 +00:00
Skip Montanaro 5e9c71ba80 allow long ints to be marshalled as ints - no check is made to the incoming
value, so the programmer will have to catch OverflowError.  I'm not sure
what /F's perspective is on this.  Perhaps it should be caught and mapped to
an xmlrpclib-specific exception.  None of the other type-specific dump
methods seem to do any exception handling though.
2001-10-10 15:56:34 +00:00
Guido van Rossum b855134a0d Under certain conditions (sometimes triggered by the test suite),
"from xml.parsers import expat" succeeds but the imported expat module
is an empty shell.  Make sure we don't be fooled by that.
2001-10-02 18:33:11 +00:00
Fredrik Lundh 1538c23dec restored 1.5.2 compatibility
added local escape method (made the dumps method some 50-80% faster)
minor tweaks to the unmarshalling code
2001-10-01 19:42:03 +00:00
Skip Montanaro fbacaf7298 approximately double dump performance by moving import of cgi.escape back to
top level.
2001-10-01 17:50:29 +00:00
Martin v. Löwis 5f12d755a8 Properly detect recursive structures. Adopted from patch #465298. 2001-09-30 20:15:41 +00:00
Fredrik Lundh b0e8e9b72f more xmlrpclib tweaks: fixed repr(Fault()); enable UTF-8 parsing in
xmllib (on 2.0 and later)
2001-09-10 21:45:42 +00:00
Fredrik Lundh c4c062f507 sync with pythonware codebase: much faster import (doesn't import
xmllib unless needed), merged docstring patches, added overridable
Transport.getparser to simplify plugging in different parsers.
2001-09-10 19:45:02 +00:00
Fred Drake 1b41079fd9 Added docstring by Neal Norwitz. This closes SF bug #450981. 2001-09-04 18:55:03 +00:00
Fredrik Lundh c266bb0594 untabification 2001-08-23 20:13:08 +00:00
Fredrik Lundh 78eedce3ff updated to current PythonWare version (1.0b3). fixed type checks in
DateTime constructor.  use ServerProxy instead of Server in sample
code.
2001-08-23 20:04:33 +00:00
Fredrik Lundh b905633be0 xmlrpclib for python 2.2; initial checkin 2001-07-11 17:42:21 +00:00