-
Notifications
You must be signed in to change notification settings - Fork 45
wssh from pip is seriously degraded, old wssh is partially broken #32
Description
I'm a wssh user, been using it happily for a long time. I'm using version 0.1.0 from this repo. It seems that if you install wssh via pip, you get a broken, degraded version. Here is the output from this wssh:
usage: wssh [-h] [-l] [-m {text,binary,auto}] [-n] [-q secs] [-v] URL
positional arguments:
URL URL of a WebSocket endpoint with or without ws:// or wss://
optional arguments:
-h, --help show this help message and exit
-l start in listen mode, creating a server
-m {text,binary,auto} specify the message transmit mode (default: auto)
-n separate each received message with a newline
-q secs quit after EOF on stdin and delay of secs (0 allowed)
-v verbose (use up to 3 times to be more verbose)
and here is the output from wssh installed via pip:
usage: wssh [-h] [--host HOST] [--port PORT] [--password [PASSWORD]]
[--key [KEY]] [--key-passphrase [KEY_PASSPHRASE]]
destination
Why is the official pip version missing all those options, I need the -n option!
My notes also indicate I need to use ws4py v0.2.4 (version-locked) for a working install of wssh, installed from source, and possibly also libevent library may need to be installed from source or lib-linked at compile-time for wssh.
On my most recent install this week, I'm getting this error popping up:
Exception: threading module loaded before patching!
It's a PITA to debug this, involving changing wssh/init.py so the first lines in my init.py now read:
import gevent.monkey; gevent.monkey.patch_thread()
import sys
import threading
but this now causes the error/warning (which doesn't seem to affect functionality on my system, luckily):
Exception KeyError: KeyError(140049873684592,) in <module 'threading' from '/usr/lib/python2.7/threading.pyc'> ignored
So, it's a boondoggle to get wssh working on a modern system anymore, is the point.
Can we get the 'good' / working version of wssh with the full option set into python pip somehow?