cpython/Lib
Tim Peters 8d81a012ef date and datetime comparison: when we don't know how to
compare against "the other" argument, we raise TypeError,
in order to prevent comparison from falling back to the
default (and worse than useless, in this case) comparison
by object address.

That's fine so far as it goes, but leaves no way for
another date/datetime object to make itself comparable
to our objects.  For example, it leaves Marc-Andre no way
to teach mxDateTime dates how to compare against Python
dates.

Discussion on Python-Dev raised a number of impractical
ideas, and the simple one implemented here:  when we don't
know how to compare against "the other" argument, we raise
TypeError *unless* the other object has a timetuple attr.
In that case, we return NotImplemented instead, and Python
will give the other object a shot at handling the
comparison then.

Note that comparisons of time and timedelta objects still
suffer the original problem, though.
2003-01-24 22:36:34 +00:00
..
bsddb bugfix: do not double-close DB cursor during deallocation when the 2003-01-17 08:42:50 +00:00
compiler Remove debugging prints. 2003-01-03 10:25:20 +00:00
curses Whitespace normalization (get rid of tabs). 2002-09-29 00:25:51 +00:00
distutils Change the mode of scripts in the build/scripts* directory to 2003-01-24 14:56:52 +00:00
email CHARSETS, ALIASES, CODEC_MAP: SF feature request 633543, Korean 2003-01-07 00:29:07 +00:00
encodings Whitespace normalization. 2002-12-24 18:31:27 +00:00
hotshot Massive changes from SF 589982 (tempfile.py rewrite, by Zack 2002-08-09 16:38:32 +00:00
idlelib Make Alt-Key-2 the Zoom Height binding for ClassBrowser and PathBrowser, 2003-01-22 00:31:09 +00:00
lib-old Use string.ascii_letters instead of string.letters (SF bug #226706). 2001-07-20 19:05:50 +00:00
lib-tk Convert booleans to integers in IntVar.set. Fixes #671741. 2003-01-22 09:17:38 +00:00
logging Use lightweight introspection instead of the inspect module hammer. 2003-01-23 18:29:29 +00:00
plat-aix3 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-aix4 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-atheos Patch #488073: AtheOS port. 2002-06-11 06:22:31 +00:00
plat-beos5 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-darwin These were somehow never added to CVS. 2002-12-30 22:14:35 +00:00
plat-freebsd2 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-freebsd3 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-freebsd4 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-freebsd5 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-generic Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-irix5 Fix a typo in the mktemp -> mkstemp patch. 2002-08-10 00:17:59 +00:00
plat-irix6 Fix a typo in the mktemp -> mkstemp patch. 2002-08-10 00:17:59 +00:00
plat-linux1 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-linux2 Regenerate. Fixes #618012. 2002-11-23 12:09:28 +00:00
plat-mac Tweaked time conversion to work in MacPython-OS9. 2003-01-22 14:04:18 +00:00
plat-netbsd1 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
plat-next3 Do no regenerate modules that should no longer be here. 2001-05-10 15:52:47 +00:00
plat-os2emx Create and populate OS/2 EMX port platform specific library directory: 2002-02-22 11:06:30 +00:00
plat-riscos SF patch 493739 2 Bugfixes for 2.2c1 (RISC OS specific), from 2001-12-15 22:12:47 +00:00
plat-sunos4 Do no regenerate modules that should no longer be here. 2001-05-10 15:52:47 +00:00
plat-sunos5 Regenerate for Solaris 8. 2001-08-09 12:33:32 +00:00
plat-unixware7 Remove obsolete entries from regen scripts. 2001-07-31 08:47:55 +00:00
site-packages
test date and datetime comparison: when we don't know how to 2003-01-24 22:36:34 +00:00
xml Minor simplification. 2002-10-28 18:09:41 +00:00
__future__.py Repair repr of future-features (wasn't updated to include the new 2001-08-24 17:13:54 +00:00
__phello__.foo.py Fix the frozen bytecode for __hello__ (betcha didn't know that existed 2001-10-18 18:49:37 +00:00
_strptime.py SF patch 670194: Performance enhancement for _strptime.py. 2003-01-19 04:40:44 +00:00
aifc.py Fix wanrings about unsigned hex constants. 2002-08-12 22:11:28 +00:00
anydbm.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
asynchat.py Code modernization. Replace v=s[i]; del s[i] with single lookup v=s.pop(i) 2002-06-30 03:39:14 +00:00
asyncore.py Add XXX about Winsock error values 2002-12-26 18:22:54 +00:00
atexit.py The atexit module effectively turned itself off if sys.exitfunc already 2002-07-16 19:30:59 +00:00
audiodev.py Commenting out the getfillable() method -- it's broken, and nobody 2001-08-13 15:04:33 +00:00
base64.py The first batch of changes recommended by the fixdiv tool. These are 2001-09-04 19:14:14 +00:00
BaseHTTPServer.py Use is None rather than general boolean 2002-05-31 23:03:33 +00:00
Bastion.py Sabotage rexec.py. It is not safe since the new-style classes. 2003-01-06 15:43:34 +00:00
bdb.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
binhex.py The first batch of changes recommended by the fixdiv tool. These are 2001-09-04 19:14:14 +00:00
bisect.py The first batch of changes recommended by the fixdiv tool. These are 2001-09-04 19:14:14 +00:00
calendar.py SF 658405: calendar.py to rely on the datetime module instead of the time 2002-12-25 16:37:19 +00:00
cgi.py Patch suggested by Hamish Lawson: add an __iter__() that returns 2002-09-11 18:20:34 +00:00
CGIHTTPServer.py Fix bug 427345 [related to IE's additional input on POST request]. 2003-01-08 18:53:18 +00:00
cgitb.py Fix name error, found by pychecker. 2002-12-31 01:08:35 +00:00
chunk.py Partial introduction of bools where appropriate. 2002-04-07 06:36:23 +00:00
cmd.py Duh. cmdqueue should be an instance variable, not a class variable. 2003-01-13 21:18:54 +00:00
code.py Convert a pile of obvious "yes/no" functions to return bool. 2002-04-04 22:55:58 +00:00
codecs.py sys was already imported, remove second import 2002-12-30 23:36:02 +00:00
codeop.py A fiddled version of the rest of Michael Hudson's SF patch 2001-08-17 22:11:27 +00:00
colorsys.py added __all__ lists to a number of Python modules 2001-01-20 19:54:20 +00:00
commands.py added __all__ lists to a number of Python modules 2001-01-20 19:54:20 +00:00
compileall.py Catch IOErrors. 2003-01-16 11:02:43 +00:00
ConfigParser.py Further cleanup of exceptions. All interpolation-related exceptions 2002-12-31 17:23:27 +00:00
Cookie.py Patch #655760: add warnings when the unsafe *Cookie classes are instantiated 2002-12-29 16:44:31 +00:00
copy.py Support copying booleans. Fixes #668925. 2003-01-16 10:40:00 +00:00
copy_reg.py _reduce(): Avoid infinite recursion in the pickler when self.__class__ 2001-12-27 16:27:28 +00:00
dbhash.py Fix bug #422702: Make flag argument to open optional, and document it that way. 2001-06-05 05:33:19 +00:00
difflib.py Added missing names to __all__. 2002-10-30 06:09:58 +00:00
dircache.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
dis.py Further SET_LINENO reomval fixes. See comments in patch #587933. 2002-08-30 13:09:51 +00:00
doctest.py Patch #486438: Make module argument to testmod optional. 2002-11-22 08:23:09 +00:00
dumbdbm.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:25:41 +00:00
dummy_thread.py Brett Cannon's dummy_thread and dummy_threading modules (SF patch 2002-12-30 22:30:22 +00:00
dummy_threading.py Brett Cannon's dummy_thread and dummy_threading modules (SF patch 2002-12-30 22:30:22 +00:00
FCNTL.py Add a new FCNTL.py backward compatibility module that issues a deprecation 2001-05-09 21:13:23 +00:00
filecmp.py Replaced .keys() with dictionary iterators 2002-06-02 18:55:56 +00:00
fileinput.py Test that chmod() actually exists before calling it (it doesn't on MacOS9). 2003-01-08 16:33:16 +00:00
fnmatch.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
formatter.py Remove uses of the string and types modules: 2002-06-03 15:58:32 +00:00
fpformat.py more __all__ updates 2001-01-20 23:34:12 +00:00
ftplib.py Fix a regression from the 1.68->1.69 checkin: 2002-06-03 10:41:45 +00:00
getopt.py Add encoding declaration. 2002-08-04 17:22:59 +00:00
getpass.py Fix SF #640094, on win32 getpass runs into unix_getpass 2002-11-20 23:15:54 +00:00
gettext.py Patch #633547: Support plural forms. Do TODOs in test suite. 2002-11-21 21:45:32 +00:00
glob.py Patch #409973: Speedup glob.glob, add fnmatch.filter. 2001-06-06 06:24:38 +00:00
gopherlib.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
gzip.py Another round on SF patch 618135: gzip.py and files > 2G 2002-11-05 20:38:55 +00:00
heapq.py Fix typo in comment. 2002-11-13 14:38:17 +00:00
hmac.py Remove uses of the string and types modules: 2002-06-03 15:58:32 +00:00
htmlentitydefs.py removed __all__ from several modules 2001-02-18 03:30:53 +00:00
htmllib.py Patch 560023 adding docstrings. 2.2 Candidate (after verifying modules were not updated after 2.2). 2002-05-29 16:18:42 +00:00
HTMLParser.py Simplify code to remove an unnecessary test. 2002-05-14 15:50:11 +00:00
httplib.py Whitespace normalization. 2002-11-24 02:35:35 +00:00
ihooks.py Applying patch 2002-12-16 13:11:57 +00:00
imaplib.py Fix NameError in getquotaroot(), sanctioned by Piers. 2003-01-13 15:04:26 +00:00
imghdr.py a few more modules get __all__ 2001-01-24 06:27:27 +00:00
imputil.py Close SF patch 523944: importing modules with foreign newlines. 2002-06-28 23:32:51 +00:00
inspect.py SF patch #634557: inspect.BlockFinder didn't do a good enough job finding 2003-01-19 13:21:20 +00:00
keyword.py Patrick K. O'Brien notices that kwlist was missing from __all__. 2002-10-30 05:17:22 +00:00
linecache.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
locale.py Whitespace normalization. 2002-11-09 05:08:07 +00:00
macpath.py Added ismount(). 2003-01-15 22:45:48 +00:00
macurl2path.py String method conversion. 2001-02-09 09:48:45 +00:00
mailbox.py Undocumented feature: MHMailbox sets the msg object's _mh_msgno 2002-09-12 05:08:00 +00:00
mailcap.py Replaced .keys() with dictionary iterators 2002-06-02 18:55:56 +00:00
markupbase.py Remove uses of the string and types modules: 2002-06-03 15:58:32 +00:00
mhlib.py Replace .keys() with .iteritems(). Second review and test by Alex. 2002-06-04 02:17:04 +00:00
mimetools.py Massive changes from SF 589982 (tempfile.py rewrite, by Zack 2002-08-09 16:38:32 +00:00
mimetypes.py Add Shockwave Flash. 2003-01-04 14:11:38 +00:00
MimeWriter.py Patch 560023 adding docstrings. 2.2 Candidate (after verifying modules were not updated after 2.2). 2002-05-29 16:18:42 +00:00
mimify.py Fix for SF bug #425868. 2001-07-04 10:15:58 +00:00
modulefinder.py patch attached to sf item #643711: 2002-12-31 16:33:00 +00:00
multifile.py Back out multifile.py 1.19 and 1.20. Fixes #514676. 2002-09-22 09:01:08 +00:00
mutex.py Code modernization. Replace v=s[i]; del s[i] with single lookup v=s.pop(i) 2002-06-30 03:39:14 +00:00
netrc.py Replace boolean test with is None. 2002-06-01 16:07:16 +00:00
new.py Forgot to add this. It's part of patch 568629. 2002-06-16 01:22:13 +00:00
nntplib.py Whitespace normalization. 2002-11-24 02:35:35 +00:00
ntpath.py Fix SF #659228, 'realpath' function missing from os.path 2003-01-03 18:01:57 +00:00
nturl2path.py Use string.ascii_letters instead of string.letters. 2001-07-20 18:52:02 +00:00
optparse.py Tweak __version__ -- the current code is between Optik 1.4 and 1.4.1. 2003-01-04 21:54:26 +00:00
os.py SF patch 661583: Remove old code from lib\os.py 2003-01-08 21:20:57 +00:00
os2emxpath.py Fix SF #659228, 'realpath' function missing from os.path 2003-01-03 18:01:57 +00:00
pdb.doc
pdb.py Duh. The do_EOF() implementation was bogus. Make it more like 2003-01-13 21:13:55 +00:00
pickle.py Raise PicklingError when __reduce__() fails, and 2003-01-24 19:29:52 +00:00
pipes.py Massive changes from SF 589982 (tempfile.py rewrite, by Zack 2002-08-09 16:38:32 +00:00
pkgutil.py Last week we discussed adding this module to the standard library. 2002-12-23 16:30:00 +00:00
popen2.py Remove uses of the string and types modules: 2002-06-03 15:58:32 +00:00
poplib.py Replace boolean test with is None. 2002-06-01 16:07:16 +00:00
posixfile.py Add a warning to the posixfile module stating that it will go away. 2001-10-24 22:03:35 +00:00
posixpath.py Fix SF #659228, 'realpath' function missing from os.path 2003-01-03 18:01:57 +00:00
pprint.py - PrettyPrinter.isreadable(), .isrecursive(): 2002-12-31 07:14:18 +00:00
pre.py Fix bug #570057: Broken pre.subn() (and pre.sub()) 2002-06-27 19:59:27 +00:00
profile.doc
profile.py Replaced .keys() with dictionary iterators 2002-06-02 18:55:56 +00:00
pstats.py Replaced .keys() with dictionary iterators 2002-06-02 18:55:56 +00:00
pty.py Expose I_ constants. Auto-detect stropts.h. Properly configure the slave terminal. 2003-01-01 09:51:12 +00:00
py_compile.py Patch #661719: Expose compilation errors as exceptions on request. 2003-01-15 11:51:06 +00:00
pyclbr.py Another big update, fixing all known bugs related to nesting functions 2002-12-03 08:14:35 +00:00
pydoc.py Gracefully delay runtime error up to 1s. Add .willdispatch(). 2002-12-28 09:23:09 +00:00
Queue.py Use the dummy_thread module in Queue.py and tempfile.py. 2002-12-30 22:36:09 +00:00
quopri.py import statements only raise ImportError, right? 2002-03-23 05:55:18 +00:00
random.py * Migrate sample distribution test from random.py to test_random.py. 2003-01-17 17:23:23 +00:00
re.py point people to the Python bug tracker, rather than to a mail 2002-10-19 20:19:10 +00:00
reconvert.py Suppress the warning about regex here. 2001-09-04 15:18:54 +00:00
regex_syntax.py removed __all__ from several modules 2001-02-18 03:30:53 +00:00
regsub.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
repr.py Rename "dictionary" (type and constructor) to "dict". 2001-10-29 22:25:45 +00:00
rexec.py Sabotage rexec.py. It is not safe since the new-style classes. 2003-01-06 15:43:34 +00:00
rfc822.py unquote(): Didn't properly de-backslash-ify. This patch (adapted from 2002-09-11 02:32:14 +00:00
rlcompleter.py Remove uses of the string and types modules: 2002-06-03 15:58:32 +00:00
robotparser.py Remove import of re, it is not used 2002-05-31 14:14:06 +00:00
sched.py bunch more __all__ lists 2001-02-15 22:15:14 +00:00
sets.py Explicitly raise an exception in __cmp__ -- this clarifies that cmp() 2003-01-14 16:45:04 +00:00
sgmllib.py Replace boolean test with is None. 2002-06-02 00:40:05 +00:00
shelve.py flesh out open() docstring 2003-01-21 01:53:09 +00:00
shlex.py Replace boolean test with is None. 2002-06-02 00:40:05 +00:00
shutil.py rmtree(): Make implementation agree with documentation (both latex and 2003-01-24 17:36:15 +00:00
SimpleHTTPServer.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
SimpleXMLRPCServer.py Patch #473586: Implement CGIXMLRPCRequestHandler. 2003-01-15 11:37:23 +00:00
site.py PEP 302 + zipimport: 2002-12-30 22:08:05 +00:00
smtpd.py smtp_RCPT(): Removed a somewhat embarrassing debugging line, found by 2002-05-14 02:13:30 +00:00
smtplib.py Patch #572031: AUTH method LOGIN for smtplib 2002-10-06 17:55:08 +00:00
sndhdr.py Amazing. This would open the sound file in text mode. Fixed. 2001-07-31 06:27:07 +00:00
socket.py On Windows, make sure SocketType is the same as socket. (SF bug 2002-08-22 17:31:16 +00:00
SocketServer.py Clearing out old patch queue. Patch #558547, make SocketServer more 2003-01-02 03:07:48 +00:00
sre.py Add finditer to __all__ (when defining it at all). 2002-10-14 12:22:17 +00:00
sre_compile.py Disable big charsets in UCS-4 builds. Works around #599377. 2002-09-26 16:39:20 +00:00
sre_constants.py Added docstrings by Neal Norwitz. This closes SF bug #450980. 2001-09-04 19:10:20 +00:00
sre_parse.py Replace boolean test with is None. 2002-06-02 00:40:05 +00:00
stat.py removed __all__ from several modules 2001-02-18 03:30:53 +00:00
statcache.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
statvfs.py removed __all__ from several modules 2001-02-18 03:30:53 +00:00
string.py Update the docstring to match the code. Will backport. 2002-11-14 03:31:32 +00:00
StringIO.py write(): Special case the common situation of a stream that's only 2002-09-17 18:10:34 +00:00
stringold.py Nuke accurate but confusing and unhelpful comments about split vs splitfields. 2001-02-09 20:18:41 +00:00
sunau.py Whitespace normalization. 2001-01-15 01:36:40 +00:00
sunaudio.py Whitespace normalization. 2001-01-15 01:36:40 +00:00
symbol.py Updates to track Grammar changes. The patch to token.py loosens the regexp to 2002-10-03 09:42:01 +00:00
symtable.py Replaced .keys() with dictionary iterators 2002-06-02 18:55:56 +00:00
tabnanny.py Use string methods where possible, and remove import string 2002-05-31 14:13:04 +00:00
tarfile.py SF #651082, tarfile module implementation from Lars Gustäbel 2003-01-05 23:19:43 +00:00
telnetlib.py Whitespace normalization. 2002-11-09 05:08:07 +00:00
tempfile.py Use the dummy_thread module in Queue.py and tempfile.py. 2002-12-30 22:36:09 +00:00
TERMIOS.py No need to call filterwarnings() to suppress further warnings from this 2001-02-27 21:51:47 +00:00
textwrap.py Hardcode the recognized whitespace characters to the US-ASCII whitespace 2002-12-12 17:24:35 +00:00
this.py Whitespace cleanup. 2002-02-08 20:41:34 +00:00
threading.py - prefer "import ... as" to "import / (assignments) / del" for most things 2002-12-30 23:32:50 +00:00
toaiff.py Fix a typo in the mktemp -> mkstemp patch. 2002-08-10 00:17:59 +00:00
token.py Updates to track Grammar changes. The patch to token.py loosens the regexp to 2002-10-03 09:42:01 +00:00
tokenize.py SF 633560: tokenize.__all__ needs "generate_tokens" 2002-11-05 06:06:02 +00:00
traceback.py This is my patch 2002-08-15 14:59:02 +00:00
tty.py final round of __all__ lists (I hope) - skipped urllib2 because Moshe may be 2001-03-01 04:27:19 +00:00
types.py SF patch 568629 by Oren Tirosh: types made callable. 2002-06-14 20:41:17 +00:00
tzparse.py Add a deprecation warning to this module. 2001-03-20 18:36:48 +00:00
unittest.py Incorporate Skip's suggestion to use SciPy's validation test near 2002-12-29 17:59:24 +00:00
urllib.py Use fdopen() to create file from fd. 2002-10-11 14:36:24 +00:00
urllib2.py Fix NameError exception ('name' undefined) 2002-11-06 15:40:05 +00:00
urlparse.py Revert change 1.37. 2003-01-07 02:09:16 +00:00
user.py SF # 555779, import user doesn't work with CGIs 2002-09-05 21:08:25 +00:00
UserDict.py SF patch #667730: More DictMixin 2003-01-22 01:39:06 +00:00
UserList.py Patch #424475: Speed-up tp_compare usage, by special-casing the common 2001-06-09 07:34:05 +00:00
UserString.py Add __mod__ method to UserString. 2002-11-18 16:12:54 +00:00
uu.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
warnings.py Allow Unicode strings as message and module name. 2002-10-14 21:06:02 +00:00
wave.py The first batch of changes recommended by the fixdiv tool. These are 2001-09-04 19:14:14 +00:00
weakref.py Whitespace normalization. 2002-07-16 21:35:23 +00:00
webbrowser.py Fixed bug 2002-11-25 17:25:04 +00:00
whichdb.py catch the situation where Berkeley DB is used to emulate dbm(3) library 2002-08-02 17:12:15 +00:00
whrandom.py Guido sez to remove the deprecation warning for a year. 2002-04-11 20:57:30 +00:00
xdrlib.py Derive exception classes from Exception 2002-03-31 13:59:18 +00:00
xmllib.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
xmlrpclib.py add support for Python's bool type to xmlrpclib - patch # 559288 2003-01-22 18:17:25 +00:00
zipfile.py Patch #661719: Expose compilation errors as exceptions on request. 2003-01-15 11:51:06 +00:00