From 48f9c6dfb899401157f394bdcc0432eac2dbafd3 Mon Sep 17 00:00:00 2001
From: Skip Montanaro <skip@pobox.com>
Date: Tue, 28 Oct 2003 16:17:54 +0000
Subject: allow dump/load of gdbm files

---
 Tools/scripts/db2pickle.py | 17 ++++++++++++++---
 Tools/scripts/pickle2db.py | 17 ++++++++++++++---
 2 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/Tools/scripts/db2pickle.py b/Tools/scripts/db2pickle.py
index 492c1d7..7b0857c 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,
@@ -21,6 +21,10 @@ try:
 except ImportError:
     dbm = None
 try:
+    import gdbm
+except ImportError:
+    gdbm = None
+try:
     import anydbm
 except ImportError:
     anydbm = None
@@ -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 a35021f..7e699f4 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
@@ -25,6 +25,10 @@ try:
 except ImportError:
     dbm = None
 try:
+    import gdbm
+except ImportError:
+    gdbm = None
+try:
     import anydbm
 except ImportError:
     anydbm = None
@@ -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
-- 
cgit v0.12

