On Thu, Sep 4, 2008 at 11:59 AM, Oleg Broytmann <[EMAIL PROTECTED]> wrote: > Brett Cannon <[EMAIL PROTECTED]> wrote: >> for 3.1 there is nothing saying we can't change shelve and the >> dbm package to allow 3rd-party code to register with the dbm package >> such that bsddb can be used as needed behind the scenes. > > Many years ago I wrote toy hashes based on ZODB and MetaKit. Registering > them with anydbm was easy: > > import anydbm > anydbm._names.insert(len(anydbm._names)-1, ['ZODBhash', 'MKhash']) > # Insert before dumbdbm > > More complex part was to make whichdb to recognize those hashes. I just > monkey-patched whichdb. If I were doing this now I'd do something similar > to atexit module - every hash module will register its own test function, > and whichdb will call them in turn until it finds which db it is. >
That's what I figured could happen. And give dbm.any a public API to register with it instead of setting a private attribute. -Brett _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com