]> git.phdru.name Git - xsetbg.git/blobdiff - print-filename.py
Merge branch 'master' of /home/phd/lib/xsetbg
[xsetbg.git] / print-filename.py
index c0d3c8ee6c31d2d6e9c8e107c8af812a38eea6f2..91088c25a5752e690d43c0a571f8ed056f757550 100755 (executable)
@@ -7,12 +7,8 @@ This file is a part of XSetBg.
 
 """
 
-__version__ = "$Revision$"[11:-2]
-__revision__ = "$Id$"[5:-2]
-__date__ = "$Date$"[7:-2]
-
-__author__ = "Oleg BroytMann <phd@phd.pp.ru>"
-__copyright__ = "Copyright (C) 2004-2007 PhiloSoft Design"
+__author__ = "Oleg Broytman <phd@phdru.name>"
+__copyright__ = "Copyright (C) 2004-2012 PhiloSoft Design"
 __license__ = "GNU GPL"
 
 
@@ -20,7 +16,7 @@ import sys, os, shelve
 
 
 def usage(code=0):
-   sys.stderr.write("Usage: %s [-0|--null] [-o|--old] [-s|--spaces] [-w|--width] [width]\n" % sys.argv[0])
+   sys.stderr.write("Usage: %s [-o|--old]\n" % sys.argv[0])
    sys.exit(code)
 
 
@@ -28,41 +24,33 @@ def get_args():
    from getopt import getopt, GetoptError
 
    try:
-      options, arguments = getopt(sys.argv[1:], "0osw:",
-         ["null", "old", "spaces", "width="])
+      options, arguments = getopt(sys.argv[1:], "he:o",
+                                  ["help", "output-encoding=", "old"])
    except GetoptError:
       usage(1)
 
-   print0 = False
    old = False
-   spaces = ''
-   width = None
+   output_encoding = None
 
    for option, value in options:
       if option in ("-h", "--help"):
          usage()
-      elif option in ("-0", "--null"):
-         print0 = True
+      elif option in ("-e", "--output-encoding"):
+         output_encoding = value
       elif option in ("-o", "--old"):
          old = True
-      elif option in ("-s", "--spaces"):
-         spaces = ' '
-      elif option in ("-w", "--width"):
-         width = int(value)
       else:
          usage(2)
 
    if arguments:
-      if width is not None:
-         usage(3)
-      elif len(arguments) > 1:
-         usage(4)
-      else:
-         width = int(arguments[0])
+      usage(3)
 
-   return print0, old, spaces, width
+   if output_encoding is None:
+      from m_lib.defenc import default_encoding
+      output_encoding = default_encoding
+   return old, output_encoding
 
-print0, old, spaces, width = get_args()
+old, output_encoding = get_args()
 
 
 xsetbg_dir = os.path.join(os.environ["HOME"], "lib", "xsetbg")
@@ -81,21 +69,11 @@ else:
 filename = global_db[key]
 global_db.close()
 
-from m_lib.defenc import default_encoding
-filename = unicode(filename, default_encoding)
+from ConfigParser import SafeConfigParser
+config = SafeConfigParser()
+config.read("xsetbg.conf")
 
-if width:
-   lines = []
-   while filename:
-      lines.append("%s%s%s" % (spaces, filename[:width], spaces))
-      filename = filename[width:]
-   filename = u'\n'.join(lines)
-else:
-   filename = u"%s%s%s" % (spaces, filename, spaces)
+fs_encoding = config.get("images", "fs_encoding")
+filename = unicode(filename, fs_encoding)
 
-sys.stdout.write(filename.encode(default_encoding))
-
-if print0:
-   sys.stdout.write('\0')
-else:
-   print
+print filename.encode(output_encoding)