Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Python scripting capability #860

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

glennholt
Copy link

I added the capability to script via an embedded IronPython interpreter. Here are examples of two equivalent SPSL and Python scripts:

SPSL

#!/bin/spsl

PROMPT What is your password?
SENDLINE ls -ltr
SENDCHAR w
SENDKEY {ENTER}
SLEEP 10000
OPENSESSION TestTwo

Python

#!/bin/python

PROMPT("What is your password?")
SENDLINE("ls -ltr")
SENDCHAR("w")
SENDKEY("{ENTER}")
SLEEP(10000)
OPENSESSION("TestTwo")

In addition, the Python interpreter exposes the current SessionData object via a locally scoped variable, making scripts like this possible:

if (Session.SessionName == "Test"):
SENDLINE("echo 'Session name: " + Session.SessionName + "'")
SENDLINE("echo 'Session ID: " + Session.SessionId + "'")
SENDLINE("echo 'Session host: " + Session.Host + "'")
SENDLINE("echo 'Session protocol: " + str(Session.Proto) + "'")
SENDLINE("echo 'Session port: " + str(Session.Port) + "'")

With the addition of a full Python interpreter the SuperPutty user can create scripts which include not only the "built-in" SPSL commands but can also use any amount of custom logic.

The Python scripting capability has been added to both scripts executed on terminal creation as well as the script entry dialog.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants