diff options
author | Jesse Luehrs <doy@tozt.net> | 2014-09-20 22:46:10 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2014-09-20 22:46:10 -0400 |
commit | b0e191f20fd7b2ce5758daa6a11d91d629bf8f34 (patch) | |
tree | 9327d02780f26cce474b7c0bddf6db08e1a75db0 | |
download | python-termcast-client-b0e191f20fd7b2ce5758daa6a11d91d629bf8f34.tar.gz python-termcast-client-b0e191f20fd7b2ce5758daa6a11d91d629bf8f34.zip |
initial implementation
-rw-r--r-- | termcast_client.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/termcast_client.py b/termcast_client.py new file mode 100644 index 0000000..22941f8 --- /dev/null +++ b/termcast_client.py @@ -0,0 +1,27 @@ +import os +import pty +import socket +import sys + +class Client(object): + def __init__(self): + pass + + def run(self, argv): + sock = socket.socket() + sock.connect(("tozt.net", 2201)) + sock.send(b'hello doy asdf\n\033]499;{"geometry":[80,24]}\007') + pty.spawn(argv, lambda fd: self._master_read(fd, sock)) + + def _master_read(self, fd, sock): + data = os.read(fd, 1024) + sock.send(data) + return data + +if __name__ == '__main__': + client = Client() + # XXX options + if len(sys.argv) > 1: + client.run(sys.argv[1:]) + else: + client.run(os.getenv("SHELL", default="/bin/sh")) |