]> git.phdru.name Git - xsetbg.git/blobdiff - print-filename.py
Convert print-filename.py
[xsetbg.git] / print-filename.py
index 91088c25a5752e690d43c0a571f8ed056f757550..47fda4a64f9304bd29ad7cfd0fcc4ee2eb4d5237 100755 (executable)
@@ -8,11 +8,15 @@ This file is a part of XSetBg.
 """
 
 __author__ = "Oleg Broytman <phd@phdru.name>"
-__copyright__ = "Copyright (C) 2004-2012 PhiloSoft Design"
+__copyright__ = "Copyright (C) 2004-2015 PhiloSoft Design"
 __license__ = "GNU GPL"
 
 
-import sys, os, shelve
+import sys
+from xsetbg_db import xsetbg_db
+
+if not xsetbg_db:
+    sys.exit("Error: no database found")
 
 
 def usage(code=0):
@@ -53,27 +57,12 @@ def get_args():
 old, output_encoding = get_args()
 
 
-xsetbg_dir = os.path.join(os.environ["HOME"], "lib", "xsetbg")
-os.chdir(xsetbg_dir)
-
-global_db_name = "xsetbg.db"
-filename_key = "filename"
-old_filename_key = "old_filename"
-
-
-global_db = shelve.open(global_db_name, flag='r')
 if old:
-   key = old_filename_key
+   index = 1
 else:
-   key = filename_key
-filename = global_db[key]
-global_db.close()
-
-from ConfigParser import SafeConfigParser
-config = SafeConfigParser()
-config.read("xsetbg.conf")
+   index = 0
 
-fs_encoding = config.get("images", "fs_encoding")
-filename = unicode(filename, fs_encoding)
+filename = xsetbg_db.select('last_shown IS NOT NULL',
+                            orderBy='-last_shown')[index].full_name
 
 print filename.encode(output_encoding)