Skip to content

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.

2 participants