You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
# 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()
 |