]> git.phdru.name Git - xsetbg.git/blob - print-filename.py
Removed svn:keywords.
[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 __author__ = "Oleg Broytman <phd@phdru.name>"
11 __copyright__ = "Copyright (C) 2004-2012 PhiloSoft Design"
12 __license__ = "GNU GPL"
13
14
15 import sys, os, shelve
16
17
18 def usage(code=0):
19    sys.stderr.write("Usage: %s [-o|--old]\n" % sys.argv[0])
20    sys.exit(code)
21
22
23 def get_args():
24    from getopt import getopt, GetoptError
25
26    try:
27       options, arguments = getopt(sys.argv[1:], "ho", ["help", "old"])
28    except GetoptError:
29       usage(1)
30
31    old = False
32
33    for option, value in options:
34       if option in ("-h", "--help"):
35          usage()
36       elif option in ("-o", "--old"):
37          old = True
38       else:
39          usage(2)
40
41    if arguments:
42       usage(3)
43
44    return old
45
46 old = get_args()
47
48
49 xsetbg_dir = os.path.join(os.environ["HOME"], "lib", "xsetbg")
50 os.chdir(xsetbg_dir)
51
52 global_db_name = "xsetbg.db"
53 filename_key = "filename"
54 old_filename_key = "old_filename"
55
56
57 global_db = shelve.open(global_db_name, flag='r')
58 if old:
59    key = old_filename_key
60 else:
61    key = filename_key
62 filename = global_db[key]
63 global_db.close()
64
65 from m_lib.defenc import default_encoding
66 filename = unicode(filename, default_encoding)
67
68 print filename.encode(default_encoding)