diff --git a/jupyter_kernel/magickernel.py b/jupyter_kernel/magickernel.py index 15405072..676398e6 100644 --- a/jupyter_kernel/magickernel.py +++ b/jupyter_kernel/magickernel.py @@ -93,6 +93,12 @@ def do_execute_direct(self, code): """ pass + def do_execute_file(self, filename): + """ + Execute a file in the kernel language. + """ + self.Error("This language does not support \"%run filename\".") + def restart_kernel(self): """Restart the kernel""" pass @@ -122,7 +128,7 @@ def do_execute(self, code, silent, store_history=True, user_expressions=None, return kernel_resp info = self.parse_code(code) - payload = [] + self.payload = [] retval = None if info['magic'] and info['magic']['name'] == 'help': @@ -133,9 +139,9 @@ def do_execute(self, code, silent, store_history=True, user_expressions=None, level = 1 text = self.get_help_on(code, level) self.log.debug(text) - payload = [{"data": {"text/plain": text}, - "start_line_number": 0, - "source": "page"}] + self.payload = [{"data": {"text/plain": text}, + "start_line_number": 0, + "source": "page"}] elif info['magic'] or self.sticky_magics: retval = None @@ -168,7 +174,7 @@ def do_execute(self, code, silent, store_history=True, user_expressions=None, self.post_execute(retval, code) - kernel_resp['payload'] = payload + kernel_resp['payload'] = self.payload return kernel_resp def post_execute(self, retval, code): diff --git a/jupyter_kernel/magics/load_magic.py b/jupyter_kernel/magics/load_magic.py index 4c62c796..5f9f6489 100644 --- a/jupyter_kernel/magics/load_magic.py +++ b/jupyter_kernel/magics/load_magic.py @@ -3,6 +3,7 @@ # http://calicoproject.org/ from jupyter_kernel import Magic, option +import os class LoadMagic(Magic): @@ -12,8 +13,8 @@ def line_load(self, filename): filename = os.path.expanduser(filename) filename = os.path.abspath(filename) text = open(filename).read() - self.kernel.payload["source"] = "set_next_input" - self.kernel.payload["text"] = text + self.kernel.payload.append({"source": "set_next_input", + "text": text}) def register_magics(kernel): kernel.register_magics(LoadMagic) diff --git a/jupyter_kernel/magics/run_magic.py b/jupyter_kernel/magics/run_magic.py index f93b82ea..6b4b66a7 100644 --- a/jupyter_kernel/magics/run_magic.py +++ b/jupyter_kernel/magics/run_magic.py @@ -3,6 +3,7 @@ # http://calicoproject.org/ from jupyter_kernel import Magic, option +import os class RunMagic(Magic):