Mercurial > libervia-backend
view src/sat.sh @ 817:c39117d00f35
jp: refactoring:
- imports from sat_frontends.jp instead of local imports
- added __init__.py
- commands now inherits from a base class: each base.CommandBase instance is a subcommand
- new arguments are added in CommandBase.add_parser_options methods, starting point si CommandBase.run or CommandBase.connected if a profile connection is needed
- commands are exported using a __commands__ variable at the top of the module
- sub-subcommand are easily added by using an other CommandBase instance as parent instead of using a Jp instance. In this case, the parent subcommand must be the one exported, and have a subcommands iterable (see cmd_file or cmd_pipe for examples).
- options which are often used (like --profile) are automatically added on demand (use_profile=True, use_progress=True)
- commands are automatically loaded when there are in a module named cmd_XXX
- restored --connect option
- restored progress bar
- restored getVersion bridge call on jp --version
- fixed file and pipe commands
- fixed forgotten translations
- fixed non SàT compliant docstrings
- better about/version dialog
author | Goffi <goffi@goffi.org> |
---|---|
date | Mon, 10 Feb 2014 13:44:09 +0100 |
parents | 952322b1d490 |
children | cbf4122baae7 |
line wrap: on
line source
#!/bin/sh #if there is one argument which is "stop", then we kill SàT DEBUG="" if [ $# -eq 1 ];then if [ $1 = "stop" ];then echo "Terminating Salut à Toi" pkill -f "twistd.*/sat.tac" exit 0 fi if [ $1 = "debug" ];then echo "Launching SàT in debug mode" DEBUG="--debug" fi fi NAME='sat' PYTHON='python' #We use python to parse config files eval `"$PYTHON" << PYTHONEND from ConfigParser import SafeConfigParser from os.path import expanduser, join import sys config = SafeConfigParser(defaults={'local_dir':'~/.sat', 'pid_dir':'/tmp', 'log_dir':'%(local_dir)s'}) try: config.read(map(expanduser, ['/etc/sat.conf', '~/sat.conf', '~/.sat.conf', 'sat.conf', '.sat.conf'])) except: print ("echo \"/!\\ Can't read main config ! Please check the syntax\";") print ("exit 1") sys.exit() env=[] env.append("LOCAL_DIR='%s'" % join(expanduser(config.get('DEFAULT', 'local_dir')),'')) env.append("PID_DIR='%s'" % join(expanduser(config.get('DEFAULT', 'pid_dir')),'')) env.append("LOG_DIR='%s'" % join(expanduser(config.get('DEFAULT', 'pid_dir')),'')) print ";".join(env) PYTHONEND ` PID_FILE="$PID_DIR$NAME.pid" LOG_FILE="$LOCAL_DIR$NAME.log" DAEMON="n" MAIN_OPTIONS="-${DAEMON}oy" TAP_PATH="./" TAP_FILE="$NAME.tac" #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 twistd $MAIN_OPTIONS $TAP_PATH$TAP_FILE $ADDITIONAL_OPTIONS