def delglobal(self): """ Del global reference """ from __main__ import __dict__ as glbs name = read_packet(self.request) glbs.pop(name)
def runfile(filename, args=None, wdir=None, namespace=None): """ Run filename args: command line arguments (string) wdir: working directory """ global __umd__ if os.environ.get("UMD_ENABLED", "").lower() == "true": if __umd__ is None: namelist = os.environ.get("UMD_NAMELIST", None) if namelist is not None: namelist = namelist.split(',') __umd__ = UserModuleDeleter(namelist=namelist) else: verbose = os.environ.get("UMD_VERBOSE", "").lower() == "true" __umd__.run(verbose=verbose) if args is not None and not isinstance(args, basestring): raise TypeError("expected a character buffer object") if namespace is None: namespace = _get_globals() namespace['__file__'] = filename sys.argv = [filename] if args is not None: for arg in args.split(): sys.argv.append(arg) if wdir is not None: os.chdir(wdir) execfile(filename, namespace) sys.argv = [''] namespace.pop('__file__')
def runfile(filename, args=None, wdir=None, namespace=None, post_mortem=False): """ Run filename args: command line arguments (string) wdir: working directory post_mortem: boolean, whether to enter post-mortem mode on error """ try: filename = filename.decode('utf-8') except (UnicodeError, TypeError, AttributeError): # UnicodeError, TypeError --> eventually raised in Python 2 # AttributeError --> systematically raised in Python 3 pass global __umr__ if os.environ.get("UMR_ENABLED", "").lower() == "true": if __umr__ is None: namelist = os.environ.get("UMR_NAMELIST", None) if namelist is not None: namelist = namelist.split(',') __umr__ = UserModuleReloader(namelist=namelist) else: verbose = os.environ.get("UMR_VERBOSE", "").lower() == "true" __umr__.run(verbose=verbose) if args is not None and not isinstance(args, basestring): raise TypeError("expected a character buffer object") if namespace is None: namespace = _get_globals() namespace['__file__'] = filename sys.argv = [filename] if args is not None: for arg in shlex.split(args): sys.argv.append(arg) if wdir is not None: try: wdir = wdir.decode('utf-8') except (UnicodeError, TypeError, AttributeError): # UnicodeError, TypeError --> eventually raised in Python 2 # AttributeError --> systematically raised in Python 3 pass os.chdir(wdir) if post_mortem: set_post_mortem() if HAS_CYTHON and os.path.splitext(filename)[1].lower() == '.pyx': # Cython files with io.open(filename, encoding='utf-8') as f: if IS_IPYKERNEL: from IPython.core.getipython import get_ipython ipython_shell = get_ipython() ipython_shell.run_cell_magic('cython', '', f.read()) else: execfile(filename, namespace) clear_post_mortem() sys.argv = [''] namespace.pop('__file__')
def runfile(filename, args=None, wdir=None, namespace=None, post_mortem=False): """ Run filename args: command line arguments (string) wdir: working directory post_mortem: boolean, whether to enter post-mortem mode on error """ try: filename = filename.decode('utf-8') except (UnicodeError, TypeError, AttributeError): # UnicodeError, TypeError --> eventually raised in Python 2 # AttributeError --> systematically raised in Python 3 pass global __umr__ if os.environ.get("UMR_ENABLED", "").lower() == "true": if __umr__ is None: namelist = os.environ.get("UMR_NAMELIST", None) if namelist is not None: namelist = namelist.split(',') __umr__ = UserModuleReloader(namelist=namelist) else: verbose = os.environ.get("UMR_VERBOSE", "").lower() == "true" __umr__.run(verbose=verbose) if args is not None and not isinstance(args, basestring): raise TypeError("expected a character buffer object") if namespace is None: namespace = _get_globals() namespace['__file__'] = filename sys.argv = [filename] if args is not None: for arg in args.split(): sys.argv.append(arg) if wdir is not None: try: wdir = wdir.decode('utf-8') except (UnicodeError, TypeError, AttributeError): # UnicodeError, TypeError --> eventually raised in Python 2 # AttributeError --> systematically raised in Python 3 pass os.chdir(wdir) if post_mortem: set_post_mortem() execfile(filename, namespace) clear_post_mortem() sys.argv = [''] namespace.pop('__file__')
def runfile(filename, args=None, wdir=None, namespace=None, post_mortem=False): """ Run filename args: command line arguments (string) wdir: working directory post_mortem: boolean, whether to enter post-mortem mode on error """ try: filename = filename.decode('utf-8') except (UnicodeError, TypeError, AttributeError): # UnicodeError, TypeError --> eventually raised in Python 2 # AttributeError --> systematically raised in Python 3 pass global __umr__ if os.environ.get("UMR_ENABLED", "").lower() == "true": if __umr__ is None: namelist = os.environ.get("UMR_NAMELIST", None) if namelist is not None: namelist = namelist.split(',') __umr__ = UserModuleReloader(namelist=namelist) else: verbose = os.environ.get("UMR_VERBOSE", "").lower() == "true" __umr__.run(verbose=verbose) if args is not None and not isinstance(args, basestring): raise TypeError("expected a character buffer object") if namespace is None: namespace = _get_globals() namespace['__file__'] = filename sys.argv = [filename] if args is not None: for arg in shlex.split(args): sys.argv.append(arg) if wdir is not None: try: wdir = wdir.decode('utf-8') except (UnicodeError, TypeError, AttributeError): # UnicodeError, TypeError --> eventually raised in Python 2 # AttributeError --> systematically raised in Python 3 pass os.chdir(wdir) if post_mortem: set_post_mortem() execfile(filename, namespace) clear_post_mortem() sys.argv = [''] namespace.pop('__file__')
def evalsc(command): """Evaluate special commands (analog to IPython's magic commands but far less powerful/complete)""" assert command.startswith(('%', '!')) system_command = command.startswith('!') command = command[1:].strip() if system_command: # System command if command.startswith('cd '): evalsc('%'+command) else: from subprocess import Popen, PIPE Popen(command, shell=True, stdin=PIPE) _print('\n') else: # General command namespace = _get_globals() import re clear_match = re.match(r"^clear ([a-zA-Z0-9_, ]+)", command) cd_match = re.match(r"^cd \"?\'?([a-zA-Z0-9_\ \:\\\/\.]+)", command) if cd_match: os.chdir(eval('r"%s"' % cd_match.groups()[0].strip())) elif clear_match: varnames = clear_match.groups()[0].replace(' ', '').split(',') for varname in varnames: try: namespace.pop(varname) except KeyError: pass elif command in ('cd', 'pwd'): try: _print(os.getcwdu()) except AttributeError: _print(os.getcwd()) elif command == 'ls': if os.name == 'nt': evalsc('!dir') else: evalsc('!ls') elif command == 'scientific': from spyderlib import baseconfig execfile(baseconfig.SCIENTIFIC_STARTUP, namespace) else: raise NotImplementedError("Unsupported command: '%s'" % command)
def evalsc(command): """Evaluate special commands (analog to IPython's magic commands but far less powerful/complete)""" assert command.startswith(('%', '!')) system_command = command.startswith('!') command = command[1:].strip() if system_command: # System command if command.startswith('cd '): evalsc('%' + command) else: from subprocess import Popen, PIPE Popen(command, shell=True, stdin=PIPE) _print('\n') else: # General command namespace = _get_globals() import re clear_match = re.match(r"^clear ([a-zA-Z0-9_, ]+)", command) cd_match = re.match(r"^cd \"?\'?([a-zA-Z0-9_\ \:\\\/\.]+)", command) if cd_match: os.chdir(eval('r"%s"' % cd_match.groups()[0].strip())) elif clear_match: varnames = clear_match.groups()[0].replace(' ', '').split(',') for varname in varnames: try: namespace.pop(varname) except KeyError: pass elif command in ('cd', 'pwd'): try: _print(os.getcwdu()) except AttributeError: _print(os.getcwd()) elif command == 'ls': if os.name == 'nt': evalsc('!dir') else: evalsc('!ls') elif command == 'scientific': from spyderlib import baseconfig execfile(baseconfig.SCIENTIFIC_STARTUP, namespace) else: raise NotImplementedError("Unsupported command: '%s'" % command)
def evalsc(command): """Evaluate special commands (analog to IPython's magic commands but far less powerful/complete)""" assert command.startswith("%") from subprocess import Popen, PIPE namespace = _get_globals() command = command[1:].strip() # Remove leading % import re clear_match = re.match(r"^clear ([a-zA-Z0-9_, ]+)", command) cd_match = re.match(r"^cd \"?\'?([a-zA-Z0-9_\ \:\\\/\.]+)", command) if cd_match: os.chdir(eval('r"%s"' % cd_match.groups()[0].strip())) elif clear_match: varnames = clear_match.groups()[0].replace(" ", "").split(",") for varname in varnames: try: namespace.pop(varname) except KeyError: pass elif command in ("cd", "pwd"): try: _print(os.getcwdu()) except AttributeError: _print(os.getcwd()) elif command == "ls": if os.name == "nt": Popen("dir", shell=True, stdin=PIPE) _print("\n") else: Popen("ls", shell=True, stdin=PIPE) _print("\n") elif command == "scientific": from spyderlib.config import base execfile(base.SCIENTIFIC_STARTUP, namespace) else: raise NotImplementedError("Unsupported command: '%s'" % command)
def evalsc(command): """Evaluate special commands (analog to IPython's magic commands but far less powerful/complete)""" assert command.startswith('%') from spyder.utils import programs namespace = _get_globals() command = command[1:].strip() # Remove leading % import re clear_match = re.match(r"^clear ([a-zA-Z0-9_, ]+)", command) cd_match = re.match(r"^cd \"?\'?([a-zA-Z0-9_\ \:\\\/\.]+)", command) if cd_match: os.chdir(eval('r"%s"' % cd_match.groups()[0].strip())) elif clear_match: varnames = clear_match.groups()[0].replace(' ', '').split(',') for varname in varnames: try: namespace.pop(varname) except KeyError: pass elif command in ('cd', 'pwd'): try: _print(os.getcwdu()) except AttributeError: _print(os.getcwd()) elif command == 'ls': if os.name == 'nt': programs.run_shell_command('dir') _print('\n') else: programs.run_shell_command('ls') _print('\n') elif command == 'scientific': from spyder.config import base execfile(base.SCIENTIFIC_STARTUP, namespace) else: raise NotImplementedError("Unsupported command: '%s'" % command)
def evalsc(command): """Evaluate special commands (analog to IPython's magic commands but far less powerful/complete)""" assert command.startswith('%') from spyderlib.utils import programs namespace = _get_globals() command = command[1:].strip() # Remove leading % import re clear_match = re.match(r"^clear ([a-zA-Z0-9_, ]+)", command) cd_match = re.match(r"^cd \"?\'?([a-zA-Z0-9_\ \:\\\/\.]+)", command) if cd_match: os.chdir(eval('r"%s"' % cd_match.groups()[0].strip())) elif clear_match: varnames = clear_match.groups()[0].replace(' ', '').split(',') for varname in varnames: try: namespace.pop(varname) except KeyError: pass elif command in ('cd', 'pwd'): try: _print(os.getcwdu()) except AttributeError: _print(os.getcwd()) elif command == 'ls': if os.name == 'nt': programs.run_shell_command('dir') _print('\n') else: programs.run_shell_command('ls') _print('\n') elif command == 'scientific': from spyderlib.config import base execfile(base.SCIENTIFIC_STARTUP, namespace) else: raise NotImplementedError("Unsupported command: '%s'" % command)