File size: 1,555 Bytes
d1ceb73 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# 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()
|