diff options
author | Eric Lin <anselor@gmail.com> | 2018-04-24 16:17:25 -0400 |
---|---|---|
committer | Eric Lin <anselor@gmail.com> | 2018-04-24 16:17:25 -0400 |
commit | 0a1c41ce7048b45fc7ef9b0176d988c26861224e (patch) | |
tree | df27473d38566e24dbf6bb5179cf32bb5f966193 /cmd2/cmd2.py | |
parent | f11b06374aaf56b755de33a763220140d36eab64 (diff) | |
download | cmd2-git-0a1c41ce7048b45fc7ef9b0176d988c26861224e.tar.gz |
Initial approach to the pyscript revamp.
Doesn't handle all argparse argument options yet (nargs, append, flag, probably more)
For #368
Diffstat (limited to 'cmd2/cmd2.py')
-rwxr-xr-x | cmd2/cmd2.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/cmd2/cmd2.py b/cmd2/cmd2.py index 8d8a5b07..4437426e 100755 --- a/cmd2/cmd2.py +++ b/cmd2/cmd2.py @@ -2877,13 +2877,13 @@ Usage: Usage: unalias [-a] name [name ...] Non-python commands can be issued with ``cmd("your command")``. Run python code from external script files with ``run("script.py")`` """ + from .pyscript_bridge import PyscriptBridge if self._in_py: self.perror("Recursively entering interactive Python consoles is not allowed.", traceback_war=False) return self._in_py = True try: - self.pystate['self'] = self arg = arg.strip() # Support the run command even if called prior to invoking an interactive interpreter @@ -2906,8 +2906,11 @@ Usage: Usage: unalias [-a] name [name ...] """ return self.onecmd_plus_hooks(cmd_plus_args + '\n') + bridge = PyscriptBridge(self) + self.pystate['self'] = bridge self.pystate['run'] = run - self.pystate['cmd'] = onecmd_plus_hooks + self.pystate['cmd'] = bridge + self.pystate['app'] = bridge localvars = (self.locals_in_py and self.pystate) or {} interp = InteractiveConsole(locals=localvars) |