Index: cs.py =================================================================== diff -u -r4ebf654ab1b0d436ce7d171bfe06c6bdc46aca47 -r029aec0d4746d8a2897e46516cf9d39629d684b5 --- cs.py (.../cs.py) (revision 4ebf654ab1b0d436ce7d171bfe06c6bdc46aca47) +++ cs.py (.../cs.py) (revision 029aec0d4746d8a2897e46516cf9d39629d684b5) @@ -8,13 +8,14 @@ import time import logging from subprocess import Popen +from cloudsync.utils.globals import EXEC_MODE_UPGRADE, EXEC_MODE_UPDATE, EXEC_MODE_NORMAL, EXEC_MODE DELAY = 0.5 +USAGE_FORMAT = "Usage: ./cs.py [debug|info|warning|error] [upgrade|update|]" arguments = sys.argv logging_level = logging.INFO - def get_pid(): proc_list = list(os.popen("ps ax | grep cloud_sync.py | grep -v grep")) if len(proc_list) > 0: @@ -29,9 +30,9 @@ if cs_proc: print("CloudSync app already running") else: - print("Starting CloudSync app with logging level {0}".format(logging_level)) + print("Starting CloudSync app with logging level {0} in {1} mode".format(logging_level,EXEC_MODE)) time.sleep(DELAY) - Popen(['python3', 'cloud_sync.py', str(logging_level)]) + Popen(['python3', 'cloud_sync.py', str(logging_level),EXEC_MODE]) def stop(): @@ -44,34 +45,52 @@ print("CloudSync app is not running.") -if len(arguments) == 2 or len(arguments) == 3: - if len(arguments) == 3: - if arguments[2] == "debug": - logging_level = logging.DEBUG - elif arguments[2] == "info": - logging_level = logging.INFO - elif arguments[2] == "warning": - logging_level = logging.WARNING - elif arguments[2] == "error": - logging_level = logging.ERROR - else: - print("Usage: ./cs.py [debug|info|warning|error]") - if arguments[1] == "start": +if len(arguments) <= 1: + print(USAGE_FORMAT) + sys.exit(101) + +if len(arguments) >= 4: + argument=arguments[3] + if argument in ( EXEC_MODE_UPGRADE, EXEC_MODE_UPDATE, EXEC_MODE_NORMAL ): + EXEC_MODE=argument + else: + print("incorrect {0} argument".format(argument)) + print(USAGE_FORMAT) + sys.exit(104) + +if len(arguments) >= 3: + argument=arguments[2] + if argument == "debug": + logging_level = logging.DEBUG + elif argument == "info": + logging_level = logging.INFO + elif argument == "warning": + logging_level = logging.WARNING + elif argument== "error": + logging_level = logging.ERROR + else: + print("incorrect {0} argument".format(argument)) + print(USAGE_FORMAT) + sys.exit(103) + +if len(arguments) >= 2: + argument=arguments[1] + if argument == "start": start() - elif str(arguments[1]) == "stop": + elif argument == "stop": stop() - elif arguments[1] == "restart": + elif argument == "restart": print("Restarting CloudSync app...") time.sleep(DELAY) stop() start() - elif arguments[1] == "status": + elif argument == "status": cs_proc = get_pid() if cs_proc: print("CloudSync app IS running") else: print("CloudSync app IS NOT running") else: - print("Usage: ./cs.py [debug|info|warning|error]") -else: - print("Usage: ./cs.py [debug|info|warning|error]") + print("incorrect {0} argument".format(argument)) + print(USAGE_FORMAT) + sys.exit(102) \ No newline at end of file