PHP 7.4.33
Preview: pickle2db.py Size: 3.85 KB
/lib64/python2.7/Tools/scripts/pickle2db.py

#! /usr/bin/python2.7

"""
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 output 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 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 unless your keys are integers.

"""

import getopt
try:
    import bsddb
except ImportError:
    bsddb = None
try:
    import dbm
except ImportError:
    dbm = None
try:
    import gdbm
except ImportError:
    gdbm = None
try:
    import anydbm
except ImportError:
    anydbm = None
import sys
try:
    import cPickle as pickle
except ImportError:
    import pickle

prog = sys.argv[0]

def usage():
    sys.stderr.write(__doc__ % globals())

def main(args):
    try:
        opts, args = getopt.getopt(args, "hbrdag",
                                   ["hash", "btree", "recno", "dbm", "anydbm",
                                    "gdbm"])
    except getopt.error:
        usage()
        return 1

    if len(args) == 0 or len(args) > 2:
        usage()
        return 1
    elif len(args) == 1:
        pfile = sys.stdin
        dbfile = args[0]
    else:
        try:
            pfile = open(args[0], 'rb')
        except IOError:
            sys.stderr.write("Unable to open %s\n" % args[0])
            return 1
        dbfile = args[1]

    dbopen = None
    for opt, arg in opts:
        if opt in ("-h", "--hash"):
            try:
                dbopen = bsddb.hashopen
            except AttributeError:
                sys.stderr.write("bsddb module unavailable.\n")
                return 1
        elif opt in ("-b", "--btree"):
            try:
                dbopen = bsddb.btopen
            except AttributeError:
                sys.stderr.write("bsddb module unavailable.\n")
                return 1
        elif opt in ("-r", "--recno"):
            try:
                dbopen = bsddb.rnopen
            except AttributeError:
                sys.stderr.write("bsddb module unavailable.\n")
                return 1
        elif opt in ("-a", "--anydbm"):
            try:
                dbopen = anydbm.open
            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
            except AttributeError:
                sys.stderr.write("dbm module unavailable.\n")
                return 1
    if dbopen is None:
        if bsddb is None:
            sys.stderr.write("bsddb module unavailable - ")
            sys.stderr.write("must specify dbtype.\n")
            return 1
        else:
            dbopen = bsddb.hashopen

    try:
        db = dbopen(dbfile, 'c')
    except bsddb.error:
        sys.stderr.write("Unable to open %s.  " % dbfile)
        sys.stderr.write("Check for format or version mismatch.\n")
        return 1
    else:
        for k in db.keys():
            del db[k]

    while 1:
        try:
            (key, val) = pickle.load(pfile)
        except EOFError:
            break
        db[key] = val

    db.close()
    pfile.close()

    return 0

if __name__ == "__main__":
    sys.exit(main(sys.argv[1:]))

Directory Contents

Dirs: 0 × Files: 192

Name Size Perms Modified Actions
4.11 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
4.64 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
4.64 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.85 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
4.42 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
4.42 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.60 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
1.37 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.37 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
4.55 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
4.77 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
4.77 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
757 B lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
1.02 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.02 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.96 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
1.93 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.93 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
5.81 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
4.09 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
4.09 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
8.38 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
7.22 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
7.19 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
4.28 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
4.16 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
4.12 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
663 B lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
937 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
937 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
610 B lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
855 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
855 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.74 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
2.11 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.11 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.49 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
3.42 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.42 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.02 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
2.33 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.33 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.58 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
2.18 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.18 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.45 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
1.83 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.83 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.46 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
3.22 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.22 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.04 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
1.39 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.39 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.74 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
3.13 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.13 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.39 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
5.54 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
5.54 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
9.76 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
7.67 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
7.67 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
13.52 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
13.52 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
13.44 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
1.16 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
1.44 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.44 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.98 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
3.42 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.42 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
893 B lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
969 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
969 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
519 B lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
792 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
792 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.12 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
2.22 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.22 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
5.81 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
4.29 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
4.29 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.45 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
1.82 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.82 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.63 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
2.21 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.21 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
618 B lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
880 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
880 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.37 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
1.98 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.98 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
742 B lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
942 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
942 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
5.44 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
4.96 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
4.96 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
7.76 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
7.19 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
7.19 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.33 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
2.85 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.85 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
5.33 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
4.03 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
4.03 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.59 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
1.93 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.93 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.72 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
3.77 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.77 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.39 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
2.89 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.89 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
5.88 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
4.82 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
4.82 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.68 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
2.03 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.03 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
7.50 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
8.91 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
8.91 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
4.23 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
3.75 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.75 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.84 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
3.14 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.14 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.85 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
3.73 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.73 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
16.77 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
11.29 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
11.29 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.20 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
1.37 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.37 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.76 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
3.92 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.92 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
5.66 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
5.13 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
5.13 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
278 B lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
481 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
481 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
11.15 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
9.40 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
9.37 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
1.46 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
1.84 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.84 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.12 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
1.56 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.56 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
421 B lrw-r--r-- 2024-04-10 04:58:41
Edit Download
548 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
548 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
621 B lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
904 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
904 B lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.86 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
2.84 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.76 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
9.04 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
8.18 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
8.18 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
68.19 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
81.37 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
81.37 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
5.65 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
5.85 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
5.85 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.19 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
1.55 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.55 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.59 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
1.59 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.59 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
1.58 KB lrw-r--r-- 2024-04-10 04:58:41
Edit Download
2.02 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.02 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
2.73 KB lrwxr-xr-x 2024-04-10 04:58:41
Edit Download
3.92 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download
3.92 KB lrw-r--r-- 2024-04-10 04:58:46
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).