From b0e191f20fd7b2ce5758daa6a11d91d629bf8f34 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sat, 20 Sep 2014 22:46:10 -0400 Subject: initial implementation --- termcast_client.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 termcast_client.py 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")) -- cgit v1.2.3