tivomirror/tivodb.py

37 lines
840 B
Python
Raw Normal View History

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