frappyman: fix make_proposed
This commit is contained in:
parent
085e493942
commit
dc24f3585c
20
frappyman.py
20
frappyman.py
@ -460,34 +460,34 @@ class FrappyManager(ServiceManager):
|
|||||||
for service in self.services:
|
for service in self.services:
|
||||||
self.all_cfg(ins, service, list_info, sea_info)
|
self.all_cfg(ins, service, list_info, sea_info)
|
||||||
seacfgpat = re.compile(r'(.*)(\.config|\.stick|\.addon)')
|
seacfgpat = re.compile(r'(.*)(\.config|\.stick|\.addon)')
|
||||||
sea_ambig = {} # collect info about ambiguous sea info
|
inverted_sea_info = {}
|
||||||
for cfg, seacfg in sea_info.items():
|
for seacfg, cfgset in sea_info.items():
|
||||||
sea_ambig.setdefault(seacfg, set()).add(cfg)
|
for cfg in cfgset:
|
||||||
|
inverted_sea_info[cfg] = seacfg
|
||||||
ambiguous = 0
|
ambiguous = 0
|
||||||
keylen = max(max(len(k) for k in cfgs) for cfgs in list_info.values())
|
keylen = max(max(len(k) for k in cfgs) for cfgs in list_info.values())
|
||||||
for cfgdir, cfgs in list_info.items():
|
for cfgdir, cfgs in list_info.items():
|
||||||
if cfgs:
|
if cfgs:
|
||||||
prt('')
|
prt('')
|
||||||
prt('--- %s:' % cfgdir)
|
prt('--- %s:' % cfgdir)
|
||||||
for cfg, desc in cfgs.items():
|
for cfg, desc in sorted(cfgs.items(), key=lambda v: (v[0].lower(), v)):
|
||||||
seacfg = sea_info.get(cfg)
|
seacfg = inverted_sea_info.get(cfg)
|
||||||
if seacfg:
|
if seacfg:
|
||||||
name, ext = seacfgpat.match(seacfg).groups()
|
name, ext = seacfgpat.match(seacfg).groups()
|
||||||
if name == cfg or name + 'stick' == cfg:
|
if name == cfg or name + 'stick' == cfg:
|
||||||
prefix = '* '
|
prefix = '* '
|
||||||
else:
|
else:
|
||||||
prefix = f'* ({name}{ext}) '
|
prefix = f'* ({name}{ext}) '
|
||||||
n = len(sea_ambig.get(seacfg))
|
if len(sea_info[seacfg]) > 1:
|
||||||
if n > 1:
|
prefix = '!' + prefix
|
||||||
prefix = '!' + prefix[1:]
|
ambiguous += 1 / len(sea_info[seacfg])
|
||||||
ambiguous += 1
|
|
||||||
desc = prefix + desc
|
desc = prefix + desc
|
||||||
prt('%s %s' % (cfg.ljust(keylen), desc))
|
prt('%s %s' % (cfg.ljust(keylen), desc))
|
||||||
prt(' ')
|
prt(' ')
|
||||||
gap = ' ' * keylen
|
gap = ' ' * keylen
|
||||||
prt(f'{gap} * need sea')
|
prt(f'{gap} * need sea')
|
||||||
if ambiguous:
|
if ambiguous:
|
||||||
print(f'{gap} ! {ambiguous} ambiguous mappings sea -> frappy')
|
print(f'{gap} ! {round(ambiguous)} ambiguous mappings sea -> frappy')
|
||||||
|
|
||||||
def treat_args(self, argdict, unknown=(), extra=()):
|
def treat_args(self, argdict, unknown=(), extra=()):
|
||||||
if len(unknown) == 1:
|
if len(unknown) == 1:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user