returns the global interactive console. interactive console should have been initialized by this time :rtype: DebugConsole
(thread_id, frame_id, frame, console_message)
| 202 | |
| 203 | # Note: On Jython 2.1 we can't use classmethod or staticmethod, so, just make the functions below free-functions. |
| 204 | def get_interactive_console(thread_id, frame_id, frame, console_message): |
| 205 | """returns the global interactive console. |
| 206 | interactive console should have been initialized by this time |
| 207 | :rtype: DebugConsole |
| 208 | """ |
| 209 | if InteractiveConsoleCache.thread_id == thread_id and InteractiveConsoleCache.frame_id == frame_id: |
| 210 | return InteractiveConsoleCache.interactive_console_instance |
| 211 | |
| 212 | InteractiveConsoleCache.interactive_console_instance = DebugConsole() |
| 213 | InteractiveConsoleCache.thread_id = thread_id |
| 214 | InteractiveConsoleCache.frame_id = frame_id |
| 215 | |
| 216 | console_stacktrace = traceback.extract_stack(frame, limit=1) |
| 217 | if console_stacktrace: |
| 218 | current_context = console_stacktrace[0] # top entry from stacktrace |
| 219 | context_message = 'File "%s", line %s, in %s' % (current_context[0], current_context[1], current_context[2]) |
| 220 | console_message.add_console_message(CONSOLE_OUTPUT, "[Current context]: %s" % (context_message,)) |
| 221 | return InteractiveConsoleCache.interactive_console_instance |
| 222 | |
| 223 | |
| 224 | def clear_interactive_console(): |
no test coverage detected