Merge branch 'master' of gitlab.psi.ch-samenv:samenv/servicemanager
Conflicts: frappyman.py
This commit is contained in:
commit
4b38869edb
@ -50,10 +50,6 @@ class SewebManager(ServiceManager):
|
|||||||
|
|
||||||
all = NicosManager, FrappyManager, SeaManager, SewebManager
|
all = NicosManager, FrappyManager, SeaManager, SewebManager
|
||||||
|
|
||||||
ACTION = 1
|
|
||||||
INS = 2
|
|
||||||
SERVICE = 3
|
|
||||||
|
|
||||||
|
|
||||||
def run(group, arglist):
|
def run(group, arglist):
|
||||||
try:
|
try:
|
||||||
@ -62,6 +58,9 @@ def run(group, arglist):
|
|||||||
managers = {cls.group: cls() for cls in all if cls.group + '_command' in defaults}
|
managers = {cls.group: cls() for cls in all if cls.group + '_command' in defaults}
|
||||||
serv = managers[group]
|
serv = managers[group]
|
||||||
args = dict(action='gui', ins=serv.main_ins)
|
args = dict(action='gui', ins=serv.main_ins)
|
||||||
|
ACTION = 1
|
||||||
|
INS = 2
|
||||||
|
SERVICE = 2 if serv.main_ins else 3
|
||||||
extra = []
|
extra = []
|
||||||
pos = 0
|
pos = 0
|
||||||
unorder = False
|
unorder = False
|
||||||
@ -76,7 +75,7 @@ def run(group, arglist):
|
|||||||
if pos >= SERVICE:
|
if pos >= SERVICE:
|
||||||
unorder = True
|
unorder = True
|
||||||
pos = SERVICE
|
pos = SERVICE
|
||||||
elif arg in serv.info or arg == 'all' or serv.wildcard(arg) is not None:
|
elif arg in serv.info or arg == 'all' or serv.wildcard(arg):
|
||||||
args['ins'] = arg
|
args['ins'] = arg
|
||||||
if pos >= INS:
|
if pos >= INS:
|
||||||
unorder = True
|
unorder = True
|
||||||
|
23
frappyman.py
23
frappyman.py
@ -38,7 +38,7 @@ class FrappyManager(ServiceManager):
|
|||||||
frappy start <instance> <service> <cfgfiles>
|
frappy start <instance> <service> <cfgfiles>
|
||||||
frappy restart <instance> [<service>] [<cfgfiles>] *
|
frappy restart <instance> [<service>] [<cfgfiles>] *
|
||||||
frappy stop <instance> [<service>] *
|
frappy stop <instance> [<service>] *
|
||||||
frappy listcfg <instance> [<service>] # list available cfg files
|
frappy listcfg <instance> [<service> | develop] # list available cfg files
|
||||||
|
|
||||||
<service> is one of main, stick, addons
|
<service> is one of main, stick, addons
|
||||||
%s
|
%s
|
||||||
@ -132,9 +132,18 @@ class FrappyManager(ServiceManager):
|
|||||||
cfgs[cfg] = desc
|
cfgs[cfg] = desc
|
||||||
return result if by_dir else all_cfg
|
return result if by_dir else all_cfg
|
||||||
|
|
||||||
def do_listcfg(self, ins='', service='main'):
|
def do_listcfg(self, ins='', service=''):
|
||||||
for cfgdir, cfgs in self.all_cfg(ins, service, by_dir=True).items():
|
omit = 'develop'
|
||||||
if cfgs:
|
if service:
|
||||||
|
all_cfg = self.all_cfg(ins, service, by_dir=True)
|
||||||
|
if service == 'develop':
|
||||||
|
omit = 'NONE'
|
||||||
|
else:
|
||||||
|
all_cfg = {}
|
||||||
|
for service in self.services:
|
||||||
|
all_cfg.update(self.all_cfg(ins, service, by_dir=True))
|
||||||
|
for cfgdir, cfgs in all_cfg.items():
|
||||||
|
if cfgs and not cfgdir.endswith(omit):
|
||||||
print('\n--- %s:\n' % cfgdir)
|
print('\n--- %s:\n' % cfgdir)
|
||||||
keylen = max(len(k) for k in cfgs)
|
keylen = max(len(k) for k in cfgs)
|
||||||
for cfg, desc in cfgs.items():
|
for cfg, desc in cfgs.items():
|
||||||
@ -143,6 +152,10 @@ class FrappyManager(ServiceManager):
|
|||||||
def treat_args(self, argdict, unknown=(), extra=()):
|
def treat_args(self, argdict, unknown=(), extra=()):
|
||||||
if len(unknown) == 1:
|
if len(unknown) == 1:
|
||||||
cfg = unknown[0]
|
cfg = unknown[0]
|
||||||
if ',' in cfg or cfg in self.all_cfg(argdict.get('ins'), argdict.get('service')):
|
if cfg == 'develop':
|
||||||
|
argdict['service'] = cfg
|
||||||
|
return super().treat_args(argdict, (), ())
|
||||||
|
if (',' in cfg or cfg.endswith('.cfg') or
|
||||||
|
cfg in self.all_cfg(argdict.get('ins'), argdict.get('service'))):
|
||||||
return super().treat_args(argdict, (), unknown)
|
return super().treat_args(argdict, (), unknown)
|
||||||
return super().treat_args(argdict, unknown, extra)
|
return super().treat_args(argdict, unknown, extra)
|
||||||
|
1
requirements.txt
Normal file
1
requirements.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
psutil
|
Loading…
x
Reference in New Issue
Block a user