Add option to start autostarted apps and stop all apps
This commit is contained in:
parent
cdb9768086
commit
6ee0912c79
@ -73,10 +73,20 @@ def publish(filename, force):
|
|||||||
def unpublish(app_name):
|
def unpublish(app_name):
|
||||||
App(app_name, False, False).unpublish()
|
App(app_name, False, False).unpublish()
|
||||||
|
|
||||||
def autostart(value):
|
def autostart(app_name, value):
|
||||||
value = value.lower() in ('1', 'on', 'enable', 'true')
|
value = value.lower() in ('1', 'on', 'enable', 'true')
|
||||||
App(app_name, False).set_autostart(value)
|
App(app_name, False).set_autostart(value)
|
||||||
|
|
||||||
|
def start_autostarted():
|
||||||
|
apps = [App(a) for a,d in repo_local.get_apps() if d['autostart']]
|
||||||
|
for app in apps:
|
||||||
|
app.start()
|
||||||
|
|
||||||
|
def stop_all():
|
||||||
|
apps = [App(a) for a,d in repo_local.get_apps()]
|
||||||
|
for app in apps:
|
||||||
|
app.stop()
|
||||||
|
|
||||||
parser = argparse.ArgumentParser(description='SPOC application manager')
|
parser = argparse.ArgumentParser(description='SPOC application manager')
|
||||||
parser.set_defaults(action=None)
|
parser.set_defaults(action=None)
|
||||||
subparsers = parser.add_subparsers()
|
subparsers = parser.add_subparsers()
|
||||||
@ -120,8 +130,15 @@ parser_unpublish.add_argument('app')
|
|||||||
|
|
||||||
parser_autostart = subparsers.add_parser('autostart')
|
parser_autostart = subparsers.add_parser('autostart')
|
||||||
parser_autostart.set_defaults(action=autostart)
|
parser_autostart.set_defaults(action=autostart)
|
||||||
|
parser_autostart.add_argument('app')
|
||||||
parser_autostart.add_argument('value', choices=('1', 'on', 'enable', 'true', '0', 'off', 'disable', 'false'), help='Sets the applications to be automatically started after the host boots up')
|
parser_autostart.add_argument('value', choices=('1', 'on', 'enable', 'true', '0', 'off', 'disable', 'false'), help='Sets the applications to be automatically started after the host boots up')
|
||||||
|
|
||||||
|
parser_start_autostarted = subparsers.add_parser('start-autostarted')
|
||||||
|
parser_start_autostarted.set_defaults(action=start_autostarted)
|
||||||
|
|
||||||
|
parser_stop_all = subparsers.add_parser('stop-all')
|
||||||
|
parser_stop_all.set_defaults(action=stop_all)
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
if args.action is listing:
|
if args.action is listing:
|
||||||
@ -143,6 +160,10 @@ elif args.action is publish:
|
|||||||
elif args.action is unpublish:
|
elif args.action is unpublish:
|
||||||
unpublish(args.app)
|
unpublish(args.app)
|
||||||
elif args.action is autostart:
|
elif args.action is autostart:
|
||||||
autostart(args.value)
|
autostart(args.app, args.value)
|
||||||
|
elif args.action is start_autostarted:
|
||||||
|
start_autostarted()
|
||||||
|
elif args.action is stop_all:
|
||||||
|
stop_all()
|
||||||
else:
|
else:
|
||||||
parser.print_usage()
|
parser.print_usage()
|
||||||
|
Loading…
Reference in New Issue
Block a user