jython 2.5.3 on unix : interactive shell with command completion

385 Views Asked by At

After having spend 4 days on searching for a working solution, i guess i need to ask. So far i'm successfully working withj jython 2.5.2 or 2.5.3, with a modifier thinClient.sh that loads what i need. It connects successfully to a DeploymentManager with either IPC or SOAP connector. However it lacks the readline module:

wsadmin>import readline
WASX7015E: Exception running command: "import readline"; exception information:
 com.ibm.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/usr2/produits/websphere7/AppServer/thinClient/lib/jython/Lib/readline.py", line 20, in <module>
    raise ImportError("Cannot access JLineConsole")
ImportError: Cannot access JLineConsole

The goal is to make it interactive, with colored prompt and sofort. I tried so far with absolutely no success:

  • org.python.util.JLineConsole / org.python.util.ReadlineConsole (misses readline module)
  • Readline-1.7 (does nothing)
  • java-readline / libreadline-java-0.8.0 (misses readline module)
  • JLine (won't load the jar)
  • pyreadline (won't integrate to jython)

So:

  • is it possible with jython 2.5.3 under IBM AIX 64, with a thinClient (jython-installer-2.5.3.jar) to have a real interactive shell with bash like completion and command recall using arrow keys, without having to build/compile something ?
  • if yes, please somebody describe a working solution:

    1. what's the solution name ?
    2. what's in your wsadmin.properties ?
    3. which libraries to load in LIBPATH ?
    4. which class to load in CLASSPATH ?
    5. which command line to invoque with java ?

There are so many "solutions" or "propositions" to this frenquently asked question on the web, but nowhere did i found a well described or working solution. Too much information scattered all around just becomes a mess :( thanks for any help !

1

There are 1 best solutions below

0
On

ok i found a workaround, that was so easy to answer myself:

rlwrap -H $THIN_CLIENT_HOME/logs/rlwrap.history.log -f $THIN_CLIENT_HOME/etc/rlwrap.jython.words.txt -r -pBlue -z $THIN_CLIENT_HOME/etc/rlwrap.prompt.pl $CMDLINE

org.python.util.* and com.ibm.ws.scripting.WasxShell are mutually incompatible