From e2b61e019089d02f7da8c883c8836540f53a9a57 Mon Sep 17 00:00:00 2001 From: Skip Montanaro Date: Wed, 3 Mar 2004 17:42:08 +0000 Subject: * 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) --- Misc/NEWS | 5 +++++ Tools/scripts/db2pickle.py | 16 ++++++++++++---- Tools/scripts/pickle2db.py | 31 ++++++++++++++++++++----------- 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/Misc/NEWS b/Misc/NEWS index 892db29..1bd6c2b 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -345,6 +345,11 @@ Tools/Demos - The db2pickle and pickle2db scripts can now dump/load gdbm files. +- The file order on the command line of the pickle2db script was reversed. + It is now [ picklefile ] dbfile. This provides better symmetry with + db2pickle. The file arguments to both scripts are now source followed by + destination in situations where both files are given. + - The pydoc script will display a link to the module documentation for modules determined to be part of the core distribution. The documentation base directory defaults to http://www.python.org/doc/current/lib/ but can 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: -- cgit v0.12