]> git.phdru.name Git - xsetbg.git/blob - print-filename.py
xsetbg (DBus version).
[xsetbg.git] / print-filename.py
1 #! /usr/bin/env python
2 """Print background filename
3
4 Print the filename of the current or previous background image.
5
6 This file is a part of XSetBg.
7
8 """
9
10 __version__ = "$Revision$"[11:-2]
11 __revision__ = "$Id$"[5:-2]
12 __date__ = "$Date$"[7:-2]
13
14 __author__ = "Oleg Broytman <phd@phdru.name>"
15 __copyright__ = "Copyright (C) 2004-2010 PhiloSoft Design"
16 __license__ = "GNU GPL"
17
18
19 import sys, os, shelve
20
21
22 def usage(code=0):
23    sys.stderr.write("Usage: %s [-o|--old]\n" % sys.argv[0])
24    sys.exit(code)
25
26
27 def get_args():
28    from getopt import getopt, GetoptError
29
30    try:
31       options, arguments = getopt(sys.argv[1:], "ho", ["help", "old"])
32    except GetoptError:
33       usage(1)
34
35    old = False
36
37    for option, value in options:
38       if option in ("-h", "--help"):
39          usage()
40       elif option in ("-o", "--old"):
41          old = True
42       else:
43          usage(2)
44
45    if arguments:
46       usage(3)
47
48    return old
49
50 old = get_args()
51
52
53 xsetbg_dir = os.path.join(os.environ["HOME"], "lib", "xsetbg")
54 os.chdir(xsetbg_dir)
55
56 global_db_name = "xsetbg.db"
57 filename_key = "filename"
58 old_filename_key = "old_filename"
59
60
61 global_db = shelve.open(global_db_name, flag='r')
62 if old:
63    key = old_filename_key
64 else:
65    key = filename_key
66 filename = global_db[key]
67 global_db.close()
68
69 from m_lib.defenc import default_encoding
70 filename = unicode(filename, default_encoding)
71
72 print filename.encode(default_encoding)