diff --git a/frappyman.py b/frappyman.py index f873314..6d35c75 100644 --- a/frappyman.py +++ b/frappyman.py @@ -106,7 +106,7 @@ class FrappyManager(ServiceManager): raise UsageError('need service to start (one of %s)' % ', '.join(self.services)) if cfg.startswith('~'): cfg = cfg[1:] - seacfg = SeaManager().guess_frappy_cfg(ins).get(service) + seacfg = self.cfg_from_sea(ins).get(service) if seacfg: cfg = seacfg if not cfg: @@ -237,3 +237,22 @@ class FrappyManager(ServiceManager): cfg in self.all_cfg(argdict.get('ins'), argdict.get('service'))): return super().treat_args(argdict, (), unknown) return super().treat_args(argdict, unknown, extra) + + def cfg_from_sea(self, ins): + sea = SeaManager() + sea.get_info() + cfgs = sea.get_cfg(ins, 'sea').split('/') + result = {} + if cfgs[0] and cfgs[0] in self.all_cfg(ins, 'main'): + result['main'] = cfgs[0] + allsticks = self.all_cfg(ins, 'stick') + stick = cfgs[:2][-1] + if stick: + for s in (stick + 'stick', stick): + if s in allsticks: + result['stick'] = s + break + addons = [a for a in cfgs[2:] if a in self.all_cfg(ins, 'addons')] + if addons: + result['addons'] = ','.join(addons) + return result diff --git a/seaman.py b/seaman.py index b060000..34a06d1 100644 --- a/seaman.py +++ b/seaman.py @@ -174,21 +174,3 @@ class SeaManager(ServiceManager): else: raise UsageError('unknown argument: %s' % arg) return [argdict.pop('ins', '')] + extra - - def guess_frappy_cfg(self, ins): - self.get_info() - cfgs = self.get_cfg(ins, 'sea').split('/') - result = {} - if cfgs[0] and cfgs[0] in self.all_cfg(ins, 'main'): - result['main'] = cfgs[0] - allsticks = self.all_cfg(ins, 'stick') - stick = cfgs[:2][-1] - if stick: - for s in (stick + 'stick', stick): - if s in allsticks: - result['stick'] = s - break - addons = [a for a in cfgs[2:] if a in self.all_cfg(ins, 'addons')] - if addons: - result['addons'] = ','.join(addons) - return result