From: Skip Montanaro Date: Tue, 28 Oct 2003 16:17:54 +0000 (+0000) Subject: allow dump/load of gdbm files X-Git-Tag: v2.4a1~1352 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=48f9c6dfb899401157f394bdcc0432eac2dbafd3;p=python allow dump/load of gdbm files --- diff --git a/Tools/scripts/db2pickle.py b/Tools/scripts/db2pickle.py index 492c1d7ba1..7b0857c1a6 100644 --- a/Tools/scripts/db2pickle.py +++ b/Tools/scripts/db2pickle.py @@ -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 diff --git a/Tools/scripts/pickle2db.py b/Tools/scripts/pickle2db.py index a35021f63b..7e699f44b1 100644 --- a/Tools/scripts/pickle2db.py +++ b/Tools/scripts/pickle2db.py @@ -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