#!/usr/bin/python -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)
