#!/usr/bin/env python
#-*- coding: utf-8 -*-

import os
import os.path
import sys
import gtk
import ConfigParser

if not os.geteuid()==0:
    sys.exit("Usage: sudo sch-scripts.")
    
import schscripts

# cd to the sch-scripts directory, so that all paths are relative
cwd = os.path.abspath(os.path.join(os.path.dirname(schscripts.__file__), '../../sch-scripts'))

if not os.path.isdir(cwd):
    cwd = '/usr/share/sch-scripts'
os.chdir(cwd)

conf = ConfigParser.ConfigParser()
conf.read('sch-scripts.conf')

host = conf.get('Daemon', 'host')
port = int(conf.get('Daemon', 'port'))

# Do these potentially expensive imports now we know the environment is sane
from twisted.internet import gtk2reactor
gtk2reactor.install()
from twisted.internet import reactor
from twisted.internet.protocol import ClientCreator
from twisted.protocols import amp

from schscripts.client import connection
from schscripts.client import gui

schGui = gui.SchGui(conf)

def connectionFailed(failure):
    print "Δεν ήταν δυνατή η σύνδεση με τον sch_daemon:"
    print failure.getErrorMessage()
    reactor.stop()

d = ClientCreator(reactor, connection.Daemon, schGui).connectUNIX("/var/run/sch-scripts/sch-daemon.socket")
d.addErrback(connectionFailed)

reactor.run()
