summaryrefslogtreecommitdiffstats
path: root/Tools
diff options
context:
space:
mode:
authorSkip Montanaro <skip@pobox.com>2003-10-28 16:17:54 (GMT)
committerSkip Montanaro <skip@pobox.com>2003-10-28 16:17:54 (GMT)
commit48f9c6dfb899401157f394bdcc0432eac2dbafd3 (patch)
treef8f1df8542a87527b6ba5f709efdb229ea0b148f /Tools
parent9c8f7eafcad308792478c2636dff8fe9110e0d77 (diff)
downloadcpython-48f9c6dfb899401157f394bdcc0432eac2dbafd3.zip
cpython-48f9c6dfb899401157f394bdcc0432eac2dbafd3.tar.gz
cpython-48f9c6dfb899401157f394bdcc0432eac2dbafd3.tar.bz2
allow dump/load of gdbm files
Diffstat (limited to 'Tools')
-rw-r--r--Tools/scripts/db2pickle.py17
-rw-r--r--Tools/scripts/pickle2db.py17
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