R. David Murray
031ae6e904
Improve issue 7835 fix per MAL to handle the case that the
...
module dictionary has also been cleared.
2010-02-11 01:56:42 +00:00
R. David Murray
63e4fd7eef
Issue 7835: Shelve's __del__ method calls its close method, and its
...
close method refers to an identifier in the global module namespace.
This means that when __del__ is called during interpreter shutdown (if,
for example, the calling program still has a pointer to the shelf),
sometimes that global identifier would wind up being None, causing
mysterious 'ignored' exceptions. This patch checks for the possible None
value first before using the global, thus avoiding the error messages.
2010-02-10 22:42:04 +00:00
Brett Cannon
25c9d6aa00
Remove imports of 'warnings' that are no longer needed in dummy_thread,
...
filecmp, and shelve.
2008-08-17 22:10:11 +00:00
Brett Cannon
753ecb13db
Remove dict.has_key() usage in the shelve module to silence warnings under -3.
2008-08-04 21:17:15 +00:00
Raymond Hettinger
8c664e8628
Issue 1592: Better error reporting for operations on closed shelves.
2008-07-25 18:43:33 +00:00
Raymond Hettinger
39df66179f
Revert part of r60927 which made invalid assumptions about the API offered by db modules.
2008-02-25 23:17:41 +00:00
Raymond Hettinger
31ce5cb989
Update more instances of has_key().
2008-02-21 19:24:53 +00:00
Georg Brandl
2605ca8773
Bug #1339007 : Shelf objects now don't raise an exception in their
...
__del__ method when initialization failed.
2006-06-14 06:08:31 +00:00
Raymond Hettinger
1bc82f891c
Removed deprecated method arguments from the shelve module.
2004-12-05 03:58:17 +00:00
Raymond Hettinger
68dcd34c0a
Fixup bare try/except.
2003-05-27 06:30:52 +00:00
Raymond Hettinger
092b2a97d2
SF 740055: optional argument protocol in shelve.open is ignored
...
* added the missing parameter
* put optional parameters in correct positional order
2003-05-20 05:15:55 +00:00
Tim Peters
0eadaac7dc
Whitespace normalization.
2003-04-24 16:02:54 +00:00
Martin v. Löwis
153c9e493e
Patch #553171 : Add writeback parameter. Also add protocol parameter.
2003-04-19 20:59:03 +00:00
Skip Montanaro
b3b22f3a29
flesh out open() docstring
2003-01-21 01:53:09 +00:00
Skip Montanaro
123dc8ef72
self.binary -> self._binary to remove it from the public interface -
...
suggestion by Raymond Hettinger.
2002-12-08 21:25:00 +00:00
Skip Montanaro
3bf99e3e87
Add support for binary pickles to the shelve module. In some situations
...
this can result in significantly smaller files. All classes as well as the
open function now accept an optional binary parameter, which defaults to
False for backward compatibility. Added a small test suite, updated the
libref documentation (including documenting the exported classes and fixing
a few other nits) and added a note about the change to Misc/NEWS.
2002-12-08 18:36:24 +00:00
Raymond Hettinger
7994716b6b
SF patch #520382 : Expand shelve.py to have a full dictionary interface
...
and add a mixin to UserDict.py to make it easier to implement a full
dictionary interface.
2002-11-15 06:46:14 +00:00
Martin v. Löwis
e4913c9987
Patch #624936 : Implement __contains__.
2002-10-18 08:58:14 +00:00
Skip Montanaro
0de65807e6
bunch more __all__ lists
...
also modified check_all function to suppress all warnings since they aren't
relevant to what this test is doing (allows quiet checking of regsub, for
instance)
2001-02-15 22:15:14 +00:00
Tim Peters
495ad3c8cc
Whitespace normalization.
2001-01-15 01:36:40 +00:00
Fred Drake
13a2c279c5
Untabify to pass the -tt test.
2000-02-10 17:17:14 +00:00
Guido van Rossum
2f7df12f33
Patch by Paul Sokolovsky to support the get() method.
1999-08-11 01:54:05 +00:00
Guido van Rossum
f62cf61548
Give in to tabnanny.
1998-04-06 14:14:25 +00:00
Guido van Rossum
65e5399081
Don't write "if self.dict: self.dict.close()"; just write
...
"self.dict.close()" and ignore the exception. The "if self.dict:"
part would be calculated through len(self.dict.keys()), which is very
expensive for a large dictionary...
1998-03-26 22:12:22 +00:00
Guido van Rossum
6599fb0917
Make close(), and hence __del__(), robust in the light of the world
...
being destroyed already.
1997-12-09 14:18:33 +00:00
Guido van Rossum
914c938cc5
Use cPickle and cStringIO when available.
1997-06-06 21:12:45 +00:00
Roger E. Masse
4fc7067055
Added a 'sync' method to shelve. If the underlying database does not have a sync
...
attribute, this method silently ignores this fact. The default (bsddb's dbhash) does.
1997-03-25 16:06:03 +00:00
Guido van Rossum
5f8ea10bc2
Fix bogus len() call
1996-09-10 17:39:56 +00:00
Guido van Rossum
abad1cc647
renamed DbShelf->DbfilenameShelf;added BsdDbShelf (David Ely)
1995-08-11 14:19:16 +00:00
Guido van Rossum
cebfa70a79
fix stupid bug (db should be dict)
1995-02-27 13:15:29 +00:00
Guido van Rossum
256cbd7487
minute comment changes
1995-02-16 16:30:50 +00:00
Guido van Rossum
cc6764c1ba
added __doc__ strings etc.
1995-02-09 17:18:10 +00:00
Guido van Rossum
a48061a580
shelve.py: database of persistent objects, on top of pickle.py and anydbm.py
...
pickle.py: new low-level persistency module (used to be called flatten)
dbmac.py: stupid dbm clone for the Mac
anydbm.py: generic dbm interface (should be extended to support gdbm)
1995-01-10 00:31:14 +00:00