Commit 48f9c6df authored by Skip Montanaro's avatar Skip Montanaro

allow dump/load of gdbm files

parent 9c8f7eaf
#!/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
......
#!/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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment