| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- # Copyright (c) Jupyter Development Team.
- # Distributed under the terms of the Modified BSD License.
- import logging
- from ipykernel.kernelapp import IPKernelApp
- from ipykernel.kernelbase import Kernel
- class EchoKernel(Kernel):
- implementation = "Echo"
- implementation_version = "1.0"
- language = "echo"
- language_version = "0.1"
- language_info = {
- "name": "echo",
- "mimetype": "text/plain",
- "file_extension": ".txt",
- }
- banner = "Echo kernel - as useful as a parrot"
- def do_execute(
- self, code, silent, store_history=True, user_expressions=None, allow_stdin=False
- ):
- if not silent:
- stream_content = {"name": "stdout", "text": code}
- self.send_response(self.iopub_socket, "stream", stream_content)
- # Send a input_request if code contains input command.
- if allow_stdin and code and code.find("input(") != -1:
- self._input_request(
- "Echo Prompt",
- self._parent_ident["shell"],
- self.get_parent(channel="shell"),
- password=False,
- )
- return {
- "status": "ok",
- # The base class increments the execution count
- "execution_count": self.execution_count,
- "payload": [],
- "user_expressions": {},
- }
- class EchoKernelApp(IPKernelApp):
- kernel_class = EchoKernel
- if __name__ == "__main__":
- logging.disable(logging.ERROR)
- EchoKernelApp.launch_instance()
|