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
|
||||
|
||||
ACTION = 1
|
||||
INS = 2
|
||||
SERVICE = 3
|
||||
|
||||
|
||||
def run(group, arglist):
|
||||
try:
|
||||
@ -62,6 +58,9 @@ def run(group, arglist):
|
||||
managers = {cls.group: cls() for cls in all if cls.group + '_command' in defaults}
|
||||
serv = managers[group]
|
||||
args = dict(action='gui', ins=serv.main_ins)
|
||||
ACTION = 1
|
||||
INS = 2
|
||||
SERVICE = 2 if serv.main_ins else 3
|
||||
extra = []
|
||||
pos = 0
|
||||
unorder = False
|
||||
@ -76,7 +75,7 @@ def run(group, arglist):
|
||||
if pos >= SERVICE:
|
||||
unorder = True
|
||||
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
|
||||
if pos >= INS:
|
||||
unorder = True
|
||||
|
23
frappyman.py
23
frappyman.py
@ -38,7 +38,7 @@ class FrappyManager(ServiceManager):
|
||||
frappy start <instance> <service> <cfgfiles>
|
||||
frappy restart <instance> [<service>] [<cfgfiles>] *
|
||||
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
|
||||
%s
|
||||
@ -132,9 +132,18 @@ class FrappyManager(ServiceManager):
|
||||
cfgs[cfg] = desc
|
||||
return result if by_dir else all_cfg
|
||||
|
||||
def do_listcfg(self, ins='', service='main'):
|
||||
for cfgdir, cfgs in self.all_cfg(ins, service, by_dir=True).items():
|
||||
if cfgs:
|
||||
def do_listcfg(self, ins='', service=''):
|
||||
omit = 'develop'
|
||||
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)
|
||||
keylen = max(len(k) for k in cfgs)
|
||||
for cfg, desc in cfgs.items():
|
||||
@ -143,6 +152,10 @@ class FrappyManager(ServiceManager):
|
||||
def treat_args(self, argdict, unknown=(), extra=()):
|
||||
if len(unknown) == 1:
|
||||
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, extra)
|
||||
|
1
requirements.txt
Normal file
1
requirements.txt
Normal file
@ -0,0 +1 @@
|
||||
psutil
|
Loading…
x
Reference in New Issue
Block a user