X-Git-Url: https://git.phdru.name/?p=xsetbg.git;a=blobdiff_plain;f=print-filename.py;h=676aed241a61f27339d011788d0bd5d7491f0ec3;hp=1a448d345b62eabc45a95cd76aa9ef3f34896809;hb=HEAD;hpb=688d1400d0e05a4ff2f10db88e89f149f39fee4e diff --git a/print-filename.py b/print-filename.py index 1a448d3..e9f217b 100755 --- a/print-filename.py +++ b/print-filename.py @@ -1,17 +1,12 @@ -#! /usr/bin/env python -"""Print background filename +#! /usr/bin/env python3 +"""print(background filename) -Print the filename of the current or previous background image. +print(the filename of the current or previous background image.) This file is a part of XSetBg. """ -__author__ = "Oleg Broytman " -__copyright__ = "Copyright (C) 2004-2015 PhiloSoft Design" -__license__ = "GNU GPL" - - import sys from xsetbg_db import xsetbg_db @@ -20,7 +15,7 @@ if not xsetbg_db: def usage(code=0): - sys.stderr.write("Usage: %s [-o|--old]\n" % sys.argv[0]) + sys.stderr.write("Usage: %s [index]\n" % sys.argv[0]) sys.exit(code) @@ -28,12 +23,12 @@ def get_args(): from getopt import getopt, GetoptError try: - options, arguments = getopt(sys.argv[1:], "he:o", - ["help", "output-encoding=", "old"]) + options, arguments = getopt(sys.argv[1:], "he:", + ["help", "output-encoding="]) except GetoptError: usage(1) - old = False + index = 0 output_encoding = None for option, value in options: @@ -41,28 +36,26 @@ def get_args(): usage() elif option in ("-e", "--output-encoding"): output_encoding = value - elif option in ("-o", "--old"): - old = True else: usage(2) if arguments: - usage(3) + if len(arguments) == 1: + try: + index = int(arguments[0]) + except ValueError: + usage(3) + else: + usage(4) if output_encoding is None: from m_lib.defenc import default_encoding output_encoding = default_encoding - return old, output_encoding + return index, output_encoding -old, output_encoding = get_args() - - -if old: - index = 1 -else: - index = 0 +index, output_encoding = get_args() filename = xsetbg_db.select('last_shown IS NOT NULL', orderBy='-last_shown')[index].full_name -print filename.encode(output_encoding) +sys.stdout.buffer.write(filename.encode(output_encoding) + b'\n')