Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if os.path.exists(path):
with open(path, 'rb') as f:
code = compile(f.read(), path, 'exec')
six.exec_(code, user_ns, user_ns)
else:
print('File not found: {}\n\n'.format(path))
sys.exit(1)
# Apply config file
def configure(repl):
path = os.path.join(config_dir, 'config.py')
if os.path.exists(path):
run_config(repl, path)
# Run interactive shell.
embed(vi_mode=vi_mode,
history_filename=os.path.join(data_dir, 'history'),
configure=configure,
user_ns=user_ns,
title='IPython REPL (ptipython)')
startup_paths.append(os.environ["PYTHONSTARTUP"])
# exec scripts from startup paths
for path in startup_paths:
if Path(path).exists():
with Path(path).open("rb") as f:
code = compile(f.read(), path, "exec")
exec(code, self.context, self.context)
else:
print(f"File not found: {path}\n\n")
sys.exit(1)
ipy_config = load_default_config()
ipy_config.InteractiveShellEmbed = ipy_config.TerminalInteractiveShell
ipy_config["InteractiveShellApp"]["extensions"] = self.ipy_extensions
configure_ipython_prompt(ipy_config, prompt=self.prompt, output=self.output)
embed(
config=ipy_config,
configure=configure,
history_filename=config_dir / "history",
user_ns=self.context,
header=self.banner,
vi_mode=self.ptpy_vi_mode,
)
return None
def run_ptipython(imported_objects, vi_mode=False):
from ptpython.repl import run_config
from ptpython.ipython import embed
history_filename = os.path.expanduser('~/.ptpython_history')
embed(user_ns=imported_objects, history_filename=history_filename,
vi_mode=vi_mode, configure=run_config)
def run_ptipython():
imported_objects = self.get_imported_objects(options)
history_filename = os.path.expanduser('~/.ptpython_history')
embed(user_ns=imported_objects, history_filename=history_filename,
vi_mode=options['vi_mode'], configure=run_config)
return run_ptipython
if not no_ptpython:
# Try PtPython
try:
from ptpython.repl import embed
history_filename = os.path.expanduser('~/.ptpython_history')
embed(globals=context, history_filename=history_filename)
return
except ImportError:
pass
if not no_bpython:
# Try BPython
try:
from bpython import embed
embed(banner=self.banner, locals_=context)
return
except ImportError:
pass
if not no_ipython:
# Try IPython
try:
from IPython import embed
embed(banner1=self.banner, user_ns=context)
return
except ImportError:
pass
# Use basic python shell
code.interact(self.banner, local=context)
embed(locals_=context)
return
except ImportError:
pass
# Try ipython
try:
try:
# 0.10.x
from IPython.Shell import IPShellEmbed
ipshell = IPShellEmbed(banner='Welcome to badwolf shell\n')
ipshell(global_ns=dict(), local_ns=context)
except ImportError:
# 0.12+
from IPython import embed
embed(banner1='Welcome to badwolf shell\n', user_ns=context)
return
except ImportError:
pass
# Use basic python shell
import code
code.interact(local=context)
'app': app,
}
with app.app_context():
# Try ptpython
try:
from ptpython.ipython import embed
embed(user_ns=context, vi_mode=True)
return
except ImportError:
pass
# Try bpython
try:
from bpython import embed
embed(locals_=context)
return
except ImportError:
pass
# Try ipython
try:
try:
# 0.10.x
from IPython.Shell import IPShellEmbed
ipshell = IPShellEmbed(banner='Welcome to badwolf shell\n')
ipshell(global_ns=dict(), local_ns=context)
except ImportError:
# 0.12+
from IPython import embed
embed(banner1='Welcome to badwolf shell\n', user_ns=context)
return
def embed(*a, **kw):
"""
DEPRECATED. Only for backwards compatibility.
Please call ptpython.ipython.embed directly!
"""
ptpython.ipython.embed(*a, **kw)
except ImportError as e:
if not no_ptipython:
# Try PtIPython
try:
from ptpython.ipython import embed
history_filename = os.path.expanduser('~/.ptpython_history')
embed(banner1=self.banner, user_ns=context, history_filename=history_filename)
return
except ImportError:
pass
if not no_ptpython:
# Try PtPython
try:
from ptpython.repl import embed
history_filename = os.path.expanduser('~/.ptpython_history')
embed(globals=context, history_filename=history_filename)
return
except ImportError:
pass
if not no_bpython:
# Try BPython
try:
from bpython import embed
embed(banner=self.banner, locals_=context)
return
except ImportError:
pass
if not no_ipython:
# Try IPython
try: