aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-09-15 16:30:46 -0400
committerJesse Luehrs <doy@tozt.net>2014-09-15 16:30:46 -0400
commit840ea5547e66f512c4a225f23be06c07f8c49d36 (patch)
tree121fdf813af78472b250c2b4b5fcdd0adae36807
parentf5bd7b16d49ab8983f326e4aba1677d1a27fdf44 (diff)
downloadpython-termcast-server-840ea5547e66f512c4a225f23be06c07f8c49d36.tar.gz
python-termcast-server-840ea5547e66f512c4a225f23be06c07f8c49d36.zip
refactor
-rw-r--r--ssh.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/ssh.py b/ssh.py
index 0e9bda4..868a708 100644
--- a/ssh.py
+++ b/ssh.py
@@ -44,18 +44,16 @@ class Connection(object):
self.chan.close()
def select_stream(self):
- self.chan.send("\033[2J\033[HWelcome to Termcast!")
- row = 3
key_code = ord('a')
keymap = {}
- for streamer in self.publisher.request_all("get_streamers"):
+ streamers = self.publisher.request_all("get_streamers")
+ for streamer in streamers:
key = chr(key_code)
+ streamer["key"] = key
keymap[key] = streamer["id"]
- self.chan.send("\033[%dH%s) %s" % (row, key, streamer["name"].decode('utf-8')))
- row += 1
key_code += 1
- self.chan.send("\033[%dHChoose a stream: " % (row + 1))
+ self._display_streamer_screen(streamers)
c = self.chan.recv(1).decode('utf-8')
if c in keymap:
@@ -77,6 +75,14 @@ class Connection(object):
self.chan.send(data)
+ def _display_streamer_screen(self, streamers):
+ self.chan.send("\033[2J\033[HWelcome to Termcast!")
+ row = 3
+ for streamer in streamers:
+ self.chan.send("\033[%dH%s) %s" % (row, streamer["key"], streamer["name"].decode('utf-8')))
+ row += 1
+ self.chan.send("\033[%dHChoose a stream: " % (row + 1))
+
class Server(paramiko.ServerInterface):
def check_channel_request(self, kind, chanid):
return paramiko.OPEN_SUCCEEDED