OLD | NEW |
1 # copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved. | 1 # copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved. |
2 # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr | 2 # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr |
3 # | 3 # |
4 # This file is part of logilab-common. | 4 # This file is part of logilab-common. |
5 # | 5 # |
6 # logilab-common is free software: you can redistribute it and/or modify it unde
r | 6 # logilab-common is free software: you can redistribute it and/or modify it unde
r |
7 # the terms of the GNU Lesser General Public License as published by the Free | 7 # the terms of the GNU Lesser General Public License as published by the Free |
8 # Software Foundation, either version 2.1 of the License, or (at your option) an
y | 8 # Software Foundation, either version 2.1 of the License, or (at your option) an
y |
9 # later version. | 9 # later version. |
10 # | 10 # |
(...skipping 26 matching lines...) Expand all Loading... |
37 | 37 |
38 help_do_ronfle = ("ronfle", "ronfle volume", _("met les autres en veille
")) | 38 help_do_ronfle = ("ronfle", "ronfle volume", _("met les autres en veille
")) |
39 def do_ronfle(self): | 39 def do_ronfle(self): |
40 print 'fuuuuuuuuuuuu rhhhhhrhrhrrh' | 40 print 'fuuuuuuuuuuuu rhhhhhrhrhrrh' |
41 | 41 |
42 cl = BookShell() | 42 cl = BookShell() |
43 """ | 43 """ |
44 | 44 |
45 __docformat__ = "restructuredtext en" | 45 __docformat__ = "restructuredtext en" |
46 | 46 |
47 from logilab.common.compat import raw_input, builtins | 47 from six.moves import builtins, input |
| 48 |
48 if not hasattr(builtins, '_'): | 49 if not hasattr(builtins, '_'): |
49 builtins._ = str | 50 builtins._ = str |
50 | 51 |
51 | 52 |
52 def init_readline(complete_method, histfile=None): | 53 def init_readline(complete_method, histfile=None): |
53 """Init the readline library if available.""" | 54 """Init the readline library if available.""" |
54 try: | 55 try: |
55 import readline | 56 import readline |
56 readline.parse_and_bind("tab: complete") | 57 readline.parse_and_bind("tab: complete") |
57 readline.set_completer(complete_method) | 58 readline.set_completer(complete_method) |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 def __init__(self, histfile=None) : | 101 def __init__(self, histfile=None) : |
101 self._topics = {} | 102 self._topics = {} |
102 self.commands = None | 103 self.commands = None |
103 self._completer = Completer(self._register_commands()) | 104 self._completer = Completer(self._register_commands()) |
104 init_readline(self._completer.complete, histfile) | 105 init_readline(self._completer.complete, histfile) |
105 | 106 |
106 def run(self): | 107 def run(self): |
107 """loop on user input, exit on EOF""" | 108 """loop on user input, exit on EOF""" |
108 while True: | 109 while True: |
109 try: | 110 try: |
110 line = raw_input('>>> ') | 111 line = input('>>> ') |
111 except EOFError: | 112 except EOFError: |
112 print | 113 print |
113 break | 114 break |
114 s_line = line.strip() | 115 s_line = line.strip() |
115 if not s_line: | 116 if not s_line: |
116 continue | 117 continue |
117 args = s_line.split() | 118 args = s_line.split() |
118 if args[0] in self.commands: | 119 if args[0] in self.commands: |
119 try: | 120 try: |
120 cmd = 'do_%s' % self.commands[args[0]] | 121 cmd = 'do_%s' % self.commands[args[0]] |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 for command_help_method in self._topics[command]: | 188 for command_help_method in self._topics[command]: |
188 try: | 189 try: |
189 if callable(command_help_method): | 190 if callable(command_help_method): |
190 self._print_help(*command_help_method()) | 191 self._print_help(*command_help_method()) |
191 else: | 192 else: |
192 self._print_help(*command_help_method) | 193 self._print_help(*command_help_method) |
193 except: | 194 except: |
194 import traceback | 195 import traceback |
195 traceback.print_exc() | 196 traceback.print_exc() |
196 print 'ERROR in help method %s'% ( | 197 print 'ERROR in help method %s'% ( |
197 command_help_method.func_name) | 198 command_help_method.__name__) |
198 | 199 |
199 help_do_help = ("help", "help [topic|command]", | 200 help_do_help = ("help", "help [topic|command]", |
200 _("print help message for the given topic/command or \ | 201 _("print help message for the given topic/command or \ |
201 available topics when no argument")) | 202 available topics when no argument")) |
202 | 203 |
203 def do_quit(self): | 204 def do_quit(self): |
204 """quit the CLI""" | 205 """quit the CLI""" |
205 raise EOFError() | 206 raise EOFError() |
206 | 207 |
207 def help_do_quit(self): | 208 def help_do_quit(self): |
208 return ("quit", "quit", _("quit the application")) | 209 return ("quit", "quit", _("quit the application")) |
OLD | NEW |