def preparse_worksheet_cell(s, globals): """ Preparse the contents of a worksheet cell in the notebook, respecting the user using ``preparser(False)`` to turn off the preparser. This function calls :func:`~sage.misc.preparser.preparse_file` which also reloads attached files. It also does displayhook formatting by calling the :func:`~sagenb.notebook.interfaces.format.displayhook_hack` function. INPUT: - ``s`` - a string containing code - ``globals`` - a string:object dictionary; passed directly to :func:`~sage.misc.preparser.preparse_file` OUTPUT: - a string """ if do_preparse(): s = preparse_file(s, globals=globals) s = displayhook_hack(s) if _automatic_names: s = automatic_name_filter(s) return s
def preparse_worksheet_cell(s, globals): """ Preparse the contents of a worksheet cell in the notebook, respecting the user using ``preparser(False)`` to turn off the preparser. This function calls :func:`~sage.repl.preparse.preparse_file` which also reloads attached files. It also does displayhook formatting by calling the :func:`~sagenb.notebook.interfaces.format.displayhook_hack` function. INPUT: - ``s`` - a string containing code - ``globals`` - a string:object dictionary; passed directly to :func:`~sage.repl.preparse.preparse_file` OUTPUT: - a string """ if do_preparse(): s = preparse_file(s, globals=globals) s = displayhook_hack(s) if _automatic_names: s = automatic_name_filter(s) return s
def execute_code(string, state, data=None): string = displayhook_hack(string) # Now execute the code capturing the output and files that are # generated. back = os.path.abspath('.') tempdir = tempfile.mkdtemp() if data is not None: # make a symbolic link from the data directory into local tmp directory os.symlink(data, os.path.join(tempdir, os.path.split(data)[1])) s = StringIO() saved_stream = sys.stdout sys.stdout = s try: os.chdir(tempdir) exec(string, state) except Exception: traceback.print_exc(file=s) finally: sys.stdout = saved_stream os.chdir(back) s.seek(0) out = str(s.read()) files = [os.path.join(tempdir, x) for x in os.listdir(tempdir)] return out, files, tempdir
def execute_code(string, state, data=None): string = displayhook_hack(string) # Now execute the code capturing the output and files that are # generated. back = os.path.abspath('.') tempdir = tempfile.mkdtemp() if data is not None: # make a symbolic link from the data directory into local tmp directory os.symlink(data, os.path.join(tempdir, os.path.split(data)[1])) s = StringIO.StringIO() saved_stream = sys.stdout sys.stdout = s try: os.chdir(tempdir) exec string in state except Exception: traceback.print_exc(file=s) finally: sys.stdout = saved_stream os.chdir(back) s.seek(0) out = str(s.read()) files = [os.path.join(tempdir, x) for x in os.listdir(tempdir)] return out, files, tempdir
def execute_code(string, state, data=None): # print "execute: '''%s'''"%string string = displayhook_hack(string) # Now execute the code capturing the output and files that are # generated. back = os.path.abspath('.') tempdir = tempfile.mkdtemp() if data is not None: # make a symbolic link from the data directory into local tmp directory os.symlink(data, os.path.join(tempdir, os.path.split(data)[1])) s = StringIO.StringIO() saved_stream = sys.stdout sys.stdout = s try: os.chdir(tempdir) exec string in state except Exception, msg: traceback.print_exc(file=s)