X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=print-filename.py;h=6348f68693cce5c2015ea4eabbef259c048ba0d1;hb=21192b521520392055185f65e5764800edb41f32;hp=6d142550f2d1a45fee744ab3981870ae78076355;hpb=807ba6a14b26938e70d59a2e7a1f67d31be9598c;p=xsetbg.git diff --git a/print-filename.py b/print-filename.py index 6d14255..6348f68 100755 --- a/print-filename.py +++ b/print-filename.py @@ -8,11 +8,13 @@ This file is a part of XSetBg. """ __author__ = "Oleg Broytman " -__copyright__ = "Copyright (C) 2004-2012 PhiloSoft Design" +__copyright__ = "Copyright (C) 2004-2014 PhiloSoft Design" __license__ = "GNU GPL" -import sys, os, shelve +import sys, os +from xsetbg_conf import xsetbg_conf +from xsetbg_db import xsetbg_db def usage(code=0): @@ -24,15 +26,19 @@ def get_args(): from getopt import getopt, GetoptError try: - options, arguments = getopt(sys.argv[1:], "ho", ["help", "old"]) + options, arguments = getopt(sys.argv[1:], "he:o", + ["help", "output-encoding=", "old"]) except GetoptError: usage(1) old = False + output_encoding = None for option, value in options: if option in ("-h", "--help"): usage() + elif option in ("-e", "--output-encoding"): + output_encoding = value elif option in ("-o", "--old"): old = True else: @@ -41,33 +47,26 @@ def get_args(): if arguments: usage(3) - return old + if output_encoding is None: + from m_lib.defenc import default_encoding + output_encoding = default_encoding + return old, output_encoding -old = 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 else: key = filename_key -filename = global_db[key] -global_db.close() -from ConfigParser import SafeConfigParser -config = SafeConfigParser() -config.read("xsetbg.conf") +filename = xsetbg_db[key] +xsetbg_db.close() -fs_encoding = config.get("images", "fs_encoding") +fs_encoding = xsetbg_conf.get("images", "fs_encoding") filename = unicode(filename, fs_encoding) -from m_lib.defenc import default_encoding -print filename.encode(default_encoding) +print filename.encode(output_encoding)