make xdg-autostart check for PyXDG and print a better error than a backtrace. and make the executing actually work

This commit is contained in:
Dana Jansens 2008-02-09 18:26:15 -05:00
parent 11408575b3
commit b2e52c7b48

View file

@ -22,10 +22,16 @@
ME="xdg-autostart" ME="xdg-autostart"
VERSION="1.0" VERSION="1.0"
from xdg import BaseDirectory
from xdg.DesktopEntry import DesktopEntry
from xdg.Exceptions import ParsingError
import os, glob, sys import os, glob, sys
try:
from xdg import BaseDirectory
from xdg.DesktopEntry import DesktopEntry
from xdg.Exceptions import ParsingError
except ImportError:
print
print "ERROR:", ME, "requires PyXDG to be installed"
print
sys.exit(1)
def main(argv=sys.argv): def main(argv=sys.argv):
if "--help" in argv[1:]: if "--help" in argv[1:]:
@ -154,8 +160,8 @@ class AutostartFile():
if self.de.getPath(): if self.de.getPath():
os.chdir(self.de.getPath()) os.chdir(self.de.getPath())
if self.shouldRun(envs): if self.shouldRun(envs):
print "Running autostart file: " + self.path args = ["/bin/sh", "-c", "exec " + self.de.getExec()]
os.system(self.de.getExec()); os.spawnv(os.P_NOWAIT, args[0], args);
os.chdir(here) os.chdir(here)
def show_help(): def show_help():