view libervia_server/libervia.sh @ 417:2bd609d7dd65

server_side: use XDG recommended paths as the defaults
author souliane <souliane@mailoo.org>
date Sun, 23 Mar 2014 23:05:23 +0100
parents 9834136b15ed
children ec8775575886
line wrap: on
line source

#!/bin/sh

#if there is one argument which is "stop", then we kill libervia
DEBUG=""
if [ $# -eq 1 ];then
    if [ $1 = "stop" ];then
        echo "Terminating Libervia"
        pkill -f "twistd.*libervia"
        exit 0
    fi
    if [ $1 = "debug" ];then
        echo "Launching Libervia in debug mode"
        DEBUG="--debug"
    fi
fi

NAME='libervia'
PYTHON='python'

#We use python to parse config files
eval `"$PYTHON" << PYTHONEND
from sat.core.constants import Const
from ConfigParser import SafeConfigParser
from os.path import expanduser, join
import sys

config = SafeConfigParser(defaults=Const.DEFAULT_CONFIG)
try:
    config.read(Const.CONFIG_FILES)
except:
    print ("echo \"/!\\ Can't read main config ! Please check the syntax\";")
    print ("exit 1")
    sys.exit()

env=[]
env.append("PID_DIR='%s'" % join(expanduser(config.get('DEFAULT', 'pid_dir')),''))
env.append("LOG_DIR='%s'" % join(expanduser(config.get('DEFAULT', 'log_dir')),''))

print ";".join(env)
PYTHONEND
`

PID_FILE="$PID_DIR$NAME.pid"
LOG_FILE="$LOG_DIR$NAME.log"
DAEMON="n"
MAIN_OPTIONS="-${DAEMON}o"

#Don't change the next line
AUTO_OPTIONS=""
ADDITIONAL_OPTIONS="--pidfile $PID_FILE --logfile $LOG_FILE $AUTO_OPTIONS $DEBUG"

log_dir=`dirname "$LOG_FILE"`
if [ ! -d $log_dir ] ; then
    mkdir $log_dir
fi

echo "Starting Libervia..."
twistd $MAIN_OPTIONS $ADDITIONAL_OPTIONS $NAME