L'objectif : Nous voulons écrire rapidement une interface CLI pour un projet et nous souhaitons que les utilisateurs puissent disposer de l'autocomplétion pour les aider dans leur utilisation de notre interface.
1. La solution
01: import cmd
02:
03: class CLISimple(cmd.Cmd):
04: intro = 'La CLI de mon projet (help pour de l\'aide)'
05: prompt = '> '
06:
07: distributions = {
08: 'Debian' : 'Debian Stretch 9.2',
09: 'Ubuntu' : 'Ubuntu Kylin 17.04',
10: 'CentOS' : 'CentOS 7.4',
11: }
12:
13: def do_quit(self, line):
14: """Quitte l'interface"""
15: print('Au revoir !')
16: exit(0)
17:
18: def do_lastVersion(self, name):
19: if name:
20: if name in CLISimple.distributions:
21: print(CLISimple.distributions[name])
22: else:
23: print('Version inconnue')
24: else:
25: print('Vous devez spécifier le nom d\'une distribution !')
26:
27: def complete_lastVersion(self, text, line, start_index, end_index):
28: if text:
29: return [
30: name for name in...
