#!/usr/local/bin/python import dbm import getopt import operator import os import sys def usage(): print("usage: dbtool {-a entry|-d entry|-l}", file=sys.stderr) try: optlist, args = getopt.getopt(sys.argv[1:], "a:d:lk") except getopt.GetoptError as err: print(str(err), file=sys.stderr) usage() sys.exit(64) if len(args) != 0 or len(optlist) != 1: usage() sys.exit(64) downloaddb = dbm.open(os.path.expanduser("~") + "/.tivo/downloads.db", "c") for (o, a) in optlist: if o == "-l": for i in sorted(downloaddb.keys()): print("%s:\t%s" % (i.decode('utf-8'), downloaddb[i].decode('utf-8'))) elif o == "-k": for (k, v) in sorted(list(downloaddb.items()), key=operator.itemgetter(1)): print("%s:\t%s" % (k, v)) elif o == "-d": del downloaddb[a] elif o == "-a": downloaddb[a] = "manually added" downloaddb.close()