X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=xsetbg.py;h=930a65fbf4719130c1bc2de59c1b4b5fb4ef44b1;hb=52529b9239d2bad82b9b65ac3e77e2d327136aed;hp=717d50773255824df51b06c844e99ab948e4cc28;hpb=0b8b04b6bbf391cfdf676b88a0579edc59099e36;p=xsetbg.git diff --git a/xsetbg.py b/xsetbg.py index 717d507..930a65f 100755 --- a/xsetbg.py +++ b/xsetbg.py @@ -12,7 +12,7 @@ __revision__ = "$Id$"[5:-2] __date__ = "$Date$"[7:-2] __author__ = "Oleg Broytman " -__copyright__ = "Copyright (C) 2000-2009 PhiloSoft Design" +__copyright__ = "Copyright (C) 2000-2010 PhiloSoft Design" __license__ = "GNU GPL" @@ -27,7 +27,7 @@ def error(error_str, error_code=1): from ConfigParser import SafeConfigParser -xsetbg_dir = os.path.join(os.environ["HOME"], "lib", "xsetbg") +xsetbg_dir = os.path.dirname(os.path.abspath(__file__)) os.chdir(xsetbg_dir) config = SafeConfigParser() @@ -107,9 +107,7 @@ import anydbm, shelve from time import time from fcntl import flock, LOCK_EX, LOCK_UN, LOCK_NB -# Import pickle and all anydbm/shelve internal machinery, so that -# when ReadyExec forks they will be ready. -# Also create the database if it is not exists yet. +# Create the database if it is not exists yet. try: global_db = shelve.open(global_db_name, flag='c') @@ -194,6 +192,14 @@ def ping(force=False): global_db[old_filename_key] = global_db[filename_key] global_db[filename_key] = image_name + program_options = ["xli", "-onroot", "-quiet"] + \ + ["-center", "-border", random.choice(borders), "-zoom", "auto", + image_name] + + rc = subprocess.call(program_options) + if rc: + error("cannot execute xli!") + finally: # Unlock and close the lock file flock(lock_file, LOCK_UN) @@ -201,14 +207,6 @@ def ping(force=False): # Flush and close the global persistent dictionary if global_db: global_db.close() - program_options = ["xli", "-onroot", "-quiet"] + \ - ["-center", "-border", random.choice(borders), "-zoom", "auto", - image_name] - - rc = subprocess.call(program_options) - if rc: - error("cannot execute xli!") - @published def force(): ping(force=True) @@ -256,5 +254,6 @@ def app(env, start_response): start_response(status, response_headers) return ['Ok\n'] +force() httpd = make_server(host, port, app, server_class=QuitWSGIServer) httpd.serve_forever()