summaryrefslogtreecommitdiffstats
path: root/Tools
diff options
context:
space:
mode:
authorSkip Montanaro <skip@pobox.com>2004-03-03 17:42:08 (GMT)
committerSkip Montanaro <skip@pobox.com>2004-03-03 17:42:08 (GMT)
commite2b61e019089d02f7da8c883c8836540f53a9a57 (patch)
tree7e89b84e5ce905fbfe69336e8713eaffd620d6f4 /Tools
parent47db16580a1c3ccf15703dfcfc86a64f35b9435c (diff)
downloadcpython-e2b61e019089d02f7da8c883c8836540f53a9a57.zip
cpython-e2b61e019089d02f7da8c883c8836540f53a9a57.tar.gz
cpython-e2b61e019089d02f7da8c883c8836540f53a9a57.tar.bz2
* explain flags in doc strings
* reverse order of files on the command line in pickle2db.py to make it symmetrical with db2pickle.py in the two-arg case (src, then dest)
Diffstat (limited to 'Tools')
-rw-r--r--Tools/scripts/db2pickle.py16
-rw-r--r--Tools/scripts/pickle2db.py31
2 files changed, 32 insertions, 15 deletions
diff --git a/Tools/scripts/db2pickle.py b/Tools/scripts/db2pickle.py
index 7b0857c..795011b 100644
--- a/Tools/scripts/db2pickle.py
+++ b/Tools/scripts/db2pickle.py
@@ -4,10 +4,18 @@
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,
-btree, recno). The default is hash. If a pickle file is named it is opened
-for write access (deleting any existing data). If no pickle file is named,
-the pickle output is written to standard output.
+representation. The optional flags indicate the type of the database:
+
+ -a - open using anydbm
+ -b - open as bsddb btree file
+ -d - open as dbm file
+ -g - open as gdbm file
+ -h - open as bsddb hash file
+ -r - open as bsddb recno file
+
+The default is hash. If a pickle file is named it is opened for write
+access (deleting any existing data). If no pickle file is named, the pickle
+output is written to standard output.
"""
diff --git a/Tools/scripts/pickle2db.py b/Tools/scripts/pickle2db.py
index 7e699f4..86545cc 100644
--- a/Tools/scripts/pickle2db.py
+++ b/Tools/scripts/pickle2db.py
@@ -1,18 +1,27 @@
#!/usr/bin/env python
"""
-Synopsis: %(prog)s [-h|-b|-g|-r|-a|-d] dbfile [ picklefile ]
+Synopsis: %(prog)s [-h|-b|-g|-r|-a|-d] [ picklefile ] dbfile
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
-optional flags indicate the type of the database (bsddb hash, bsddb btree,
-bsddb recno, anydbm, dbm). The default is hash. If a pickle file is named
-it is opened for read access. If no pickle file is named, the pickle input
-is read from standard input.
+optional flags indicate the type of the output database:
-Note that recno databases can only contain numeric keys, so you can't dump a
+ -a - open using anydbm
+ -b - open as bsddb btree file
+ -d - open as dbm file
+ -g - open as gdbm file
+ -h - open as bsddb hash file
+ -r - open as bsddb recno file
+
+The default is hash. If a pickle file is named it is opened for read
+access. If no pickle file is named, the pickle input is read from standard
+input.
+
+Note that recno databases can only contain integer keys, so you can't dump a
hash or btree database using db2pickle.py and reconstitute it to a recno
-database with %(prog)s.
+database with %(prog)s unless your keys are integers.
+
"""
import getopt
@@ -56,15 +65,15 @@ def main(args):
usage()
return 1
elif len(args) == 1:
- dbfile = args[0]
pfile = sys.stdin
- else:
dbfile = args[0]
+ else:
try:
- pfile = open(args[1], 'rb')
+ pfile = open(args[0], 'rb')
except IOError:
- sys.stderr.write("Unable to open %s\n" % args[1])
+ sys.stderr.write("Unable to open %s\n" % args[0])
return 1
+ dbfile = args[1]
dbopen = None
for opt, arg in opts: