#!/usr/bin/python

import sys

sys.path.append("/usr/lib/eroaster")

from os import environ, popen
from constants import title, version, year, True, False
from main import Application
from tools import striplist
from string import find

if not environ.has_key("EROASTERINSTALL"):                  # when installing eroaster, do not fire up the interface
    
    sys.stdout.write("\n%s %s (c) %s by Martin Preishuber\n\n" % (title, version, year))

    # Checking username
    sys.stdout.write("Checking username ... ")
    uname = environ["USER"]
    sys.stdout.write("%s" % uname)
    if (uname != "root"):
        sys.stdout.write(" (you may want to be root)\n")
    else:
        sys.stdout.write("\n")

    # Check for mkisofs
    sys.stdout.write("Checking for required programs: ")
    sys.stdout.write("mkisofs")
    pipe = popen("which mkisofs")
    output = striplist(pipe.readlines())
    pipe.close()
    if (find(output[0], "no mkisofs in") == -1):
        mkisofs = True

    # Check for cdrecord
    sys.stdout.write(" cdrecord")
    pipe = popen("which cdrecord")
    output = striplist(pipe.readlines())
    pipe.close()
    if (find(output[0], "no cdrecord in") == -1):
        cdrecord = True

    # Check for isoinfo
    sys.stdout.write(" isoinfo")
    pipe = popen("which isoinfo")
    output = striplist(pipe.readlines())
    pipe.close()
    if (find(output[0], "no isoinfo in") == -1):
        isoinfo = True

    sys.stdout.write("\n")

    # Check wether mkisofs supports -gui
    sys.stdout.write("Checking, wether mkisofs supports -gui or not: ")
    pipe = popen("mkisofs 2>&1 | grep gui")
    output = striplist(pipe.readlines())
    pipe.close()

    if (len(output) == 0):
        mkisofssupportsgui = False
        sys.stdout.write("no\n\n")
    else:
        mkisofssupportsgui = True
        sys.stdout.write("yes\n\n")
        
    if (mkisofs == False) or (cdrecord == False) or (isoinfo == False):
        sys.stdout.write("The following programms couldn't be found: ")
        if (mkisofs == False):
            sys.stdout.write("mkisofs ")
        if (cdrecord == False):
            sys.stdout.write("cdrecord ")
        if (isoinfo == False):
            sys.stdout.write("isoinfo ")
        sys.stdout.write("\n\n")
        sys.stdout.write("The necessary CD-R tools can be found at:\n\n")
        sys.stdout.write("    ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/\n\n")
        sys.stdout.write("Please install it before using ERoaster (isoinfo is part of mkisofs)\n\n")

    # Start the app
    app = Application(mkisofssupportsgui)
    app.main()
