From 8411857030d92e448d5c64682f396e677161afbe Mon Sep 17 00:00:00 2001 From: tassaron Date: Mon, 28 Aug 2017 18:54:54 -0400 Subject: ctrl-c ends commandline mode properly --- src/command.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/command.py') diff --git a/src/command.py b/src/command.py index 4116c5a..cd3c6c3 100644 --- a/src/command.py +++ b/src/command.py @@ -8,6 +8,7 @@ import argparse import os import sys import time +import signal from core import Core @@ -91,6 +92,9 @@ class Command(QtCore.QObject): for arg in args: self.core.selectedComponents[i].command(arg) + # ctrl-c stops the export thread + signal.signal(signal.SIGINT, self.stopVideo) + if self.args.export and self.args.projpath: errcode, data = self.core.parseAvFile(projPath) for key, value in data['WindowFields']: @@ -124,6 +128,11 @@ class Command(QtCore.QObject): self.worker.progressBarSetText.connect(self.progressBarSetText) self.createVideo.emit() + def stopVideo(self, *args): + self.worker.error = True + self.worker.cancelExport() + self.worker.cancel() + @QtCore.pyqtSlot(str) def progressBarSetText(self, value): if 'Export ' in value: -- cgit v1.2.3