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.
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.