allow dump/load of gdbm files

This commit is contained in:
Skip Montanaro 2003-10-28 16:17:54 +00:00
parent 9c8f7eafca
commit 48f9c6dfb8
2 changed files with 28 additions and 6 deletions

View file

@ -1,7 +1,7 @@
#!/usr/bin/env python
"""
Synopsis: %(prog)s [-h|-b|-r] dbfile [ picklefile ]
Synopsis: %(prog)s [-h|-g|-b|-r|-a] dbfile [ picklefile ]
Convert the database file given on the command line to a pickle
representation. The optional flags indicate the type of the database (hash,
@ -20,6 +20,10 @@ try:
import dbm
except ImportError:
dbm = None
try:
import gdbm
except ImportError:
gdbm = None
try:
import anydbm
except ImportError:
@ -37,8 +41,9 @@ def usage():
def main(args):
try:
opts, args = getopt.getopt(args, "hbrda",
["hash", "btree", "recno", "dbm", "anydbm"])
opts, args = getopt.getopt(args, "hbrdag",
["hash", "btree", "recno", "dbm",
"gdbm", "anydbm"])
except getopt.error:
usage()
return 1
@ -83,6 +88,12 @@ def main(args):
except AttributeError:
sys.stderr.write("anydbm module unavailable.\n")
return 1
elif opt in ("-g", "--gdbm"):
try:
dbopen = gdbm.open
except AttributeError:
sys.stderr.write("gdbm module unavailable.\n")
return 1
elif opt in ("-d", "--dbm"):
try:
dbopen = dbm.open

View file

@ -1,7 +1,7 @@
#!/usr/bin/env python
"""
Synopsis: %(prog)s [-h|-b|-r|-a|-d] dbfile [ picklefile ]
Synopsis: %(prog)s [-h|-b|-g|-r|-a|-d] dbfile [ picklefile ]
Read the given picklefile as a series of key/value pairs and write to a new
database. If the database already exists, any contents are deleted. The
@ -24,6 +24,10 @@ try:
import dbm
except ImportError:
dbm = None
try:
import gdbm
except ImportError:
gdbm = None
try:
import anydbm
except ImportError:
@ -41,8 +45,9 @@ def usage():
def main(args):
try:
opts, args = getopt.getopt(args, "hbrda",
["hash", "btree", "recno", "dbm", "anydbm"])
opts, args = getopt.getopt(args, "hbrdag",
["hash", "btree", "recno", "dbm", "anydbm",
"gdbm"])
except getopt.error:
usage()
return 1
@ -87,6 +92,12 @@ def main(args):
except AttributeError:
sys.stderr.write("anydbm module unavailable.\n")
return 1
elif opt in ("-g", "--gdbm"):
try:
dbopen = gdbm.open
except AttributeError:
sys.stderr.write("gdbm module unavailable.\n")
return 1
elif opt in ("-d", "--dbm"):
try:
dbopen = dbm.open