aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xstream-lava-log.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/stream-lava-log.py b/stream-lava-log.py
index f3e6e4e..70954a8 100755
--- a/stream-lava-log.py
+++ b/stream-lava-log.py
@@ -88,8 +88,15 @@ class CursesOutput(object):
def _run(self, stdscr):
self.stdscr = stdscr
self._setup_win()
+ self.stdscr.nodelay(1)
while True:
+ key = self.stdscr.getch()
+ if key == ord('q'):
+ break
+ elif key == ord('c'):
+ self.outputter.cancel_job()
+
self._update_win()
self._poll_state()
@@ -329,6 +336,11 @@ class LavaConnection(object):
return self.connection.scheduler.job_output(job_id)
+ @handle_connection
+ def cancel_job(self, job_id):
+ return self.connection.scheduler.cancel_job(job_id)
+
+
class LavaRunJob(object):
def __init__(self, connection, job_id, poll_interval):
self.END_STATES = ['Complete', 'Incomplete', 'Canceled']
@@ -345,6 +357,10 @@ class LavaRunJob(object):
self._is_running = True
+ def cancel_job(self):
+ self.state = self.connection.cancel_job(self.job_id)
+
+
def get_description(self):
self._get_state()
return self.details.get('description', '')