| 2052 | return self.input.readline() |
| 2053 | |
| 2054 | def help(self, request, is_cli=False): |
| 2055 | if isinstance(request, str): |
| 2056 | request = request.strip() |
| 2057 | if request == 'keywords': self.listkeywords() |
| 2058 | elif request == 'symbols': self.listsymbols() |
| 2059 | elif request == 'topics': self.listtopics() |
| 2060 | elif request == 'modules': self.listmodules() |
| 2061 | elif request[:8] == 'modules ': |
| 2062 | self.listmodules(request.split()[1]) |
| 2063 | elif request in self.symbols: self.showsymbol(request) |
| 2064 | elif request in ['True', 'False', 'None']: |
| 2065 | # special case these keywords since they are objects too |
| 2066 | doc(eval(request), 'Help on %s:', output=self._output, is_cli=is_cli) |
| 2067 | elif request in self.keywords: self.showtopic(request) |
| 2068 | elif request in self.topics: self.showtopic(request) |
| 2069 | elif request: doc(request, 'Help on %s:', output=self._output, is_cli=is_cli) |
| 2070 | else: doc(str, 'Help on %s:', output=self._output, is_cli=is_cli) |
| 2071 | elif isinstance(request, Helper): self() |
| 2072 | else: doc(request, 'Help on %s:', output=self._output, is_cli=is_cli) |
| 2073 | self.output.write('\n') |
| 2074 | |
| 2075 | def intro(self): |
| 2076 | self.output.write(_introdoc()) |