Files
entropy/sulfur/misc/sulfur
T
2009-09-20 14:44:41 +02:00

53 lines
1.5 KiB
Python
Executable File

#!/usr/bin/python2 -O
import sys, os
if "--debug" in sys.argv:
os.environ['SULFUR_DEBUG'] = "1"
sys.argv.remove("--debug")
sulfur_path = " /usr/lib/entropy/sulfur/sulfur-client.py " + ' '.join(sys.argv[1:])
su_cmd = "xterm -e \"su -c '"+sulfur_path+"'\""
def setup_env():
global sulfur_path, su_cmd
pathenv = os.getenv("PATH")
if os.path.isfile("/etc/profile.env"):
f = open("/etc/profile.env")
env_file = f.readlines()
for line in env_file:
line = line.strip()
if line.startswith("export PATH='"):
line = line[len("export PATH='"):]
line = line.rstrip("'")
for path in line.split(":"):
pathenv += ":"+path
break
os.environ['PATH'] = pathenv
de_session = os.getenv('DESKTOP_SESSION')
if de_session == None: de_session = ''
path = os.getenv('PATH').split(":")
if de_session.find("kde") != -1:
for item in path:
itempath = os.path.join(item,'kdesu')
if os.access(itempath,os.X_OK):
su_cmd = itempath+' "'+sulfur_path+'"'
break
else:
if os.access('/usr/bin/gksu',os.X_OK):
su_cmd = '/usr/bin/gksu "'+sulfur_path+'"'
setup_env()
tbz2s = [x for x in sys.argv[1:] if x.endswith(".tbz2")]
if tbz2s:
os.environ['SULFUR_PACKAGES'] = ';'.join(tbz2s)
rc = 99
while (rc == 99):
if os.getuid() == 0:
rc = os.system(sulfur_path)
else:
rc = os.system(su_cmd)
raise SystemExit(rc)