Terry J. Reedy <tjre...@udel.edu> added the comment:

contextlib.closing is an adapter for using objects that have a close method but 
have not be modernized to be context managers by having _enter__ and __exit__ 
methods added. Its doc gives the example
with closing(urlopen('http://www.python.org')) as page:
This is now obsolete as the object returned is now a context manager.

A shelf instance would make a better example now, but...
I think it reasonable to update shelve.Shelf also. I believe
  def __enter__(self): return self
  def __exit__(self, e_typ, e_val, tb): self.close()
are all that are needed. (Nick, true?)

----------
nosy: +ncoghlan, terry.reedy
stage:  -> test needed
title: shelf doesn't work with 'with' -> Make shelf instances work with 'with' 
as context managers
type:  -> enhancement
versions: +Python 3.3

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue13896>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to