Allows using gdbm files created with version 1.8 or 1.10, without magic number errors.
Provides a means to open a gdbm database that otherwise gives the “Bad Magic Number” error.
This can be useful when needing to support EL6 and EL7 (or CentOS 6 and CentOS 7).
It supports opening of gdbm files created with gdbm version 1.8 or 1.10. Some functionality may not work on the database, but most will, which is better than none!
The primary method of usage is to use “gdbm_compat.open_compat” in place of “gdbm.open”.
>>> import gdbm_compat>>> ...>>> mydb = gdbm.open('mydatabase', 'r') # Database created on different system that wont open
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
gdbm.error: Bad magic number>>> mydb = gdbm_compat.open_compat('mydatabase.db', 'r') # Force it to open
<gdbm.gdbm object at 0x7f7da47ee110>
Usage: gdbm-compat-convert [-1.8/-1.10] [input filename] [output filename]Changes the magic number on a gdbm database, to make it accessable on different platforms.
Changing to either version 1.8 or 1.10 are supported, provide that as the first argument.
If no “output filename” is provided, the change will be made inline.
Some additional methods are available. You can find the pydoc generated documentation in doc/gdbm_compat.html of the source distribution.
gdbm_compat is licensed under Public Domain.