Forbid interrupt when initializing
This commit is contained in:
@@ -2,9 +2,9 @@ from __future__ import division
|
||||
|
||||
import os
|
||||
import json
|
||||
import signal
|
||||
|
||||
import cv2
|
||||
import numpy as np
|
||||
|
||||
|
||||
HERE = os.path.dirname(os.path.realpath(__file__))
|
||||
@@ -40,3 +40,18 @@ def hsv_mask(hsv, hsv_lower, hsv_upper):
|
||||
return cv2.add(mask_l, mask_u)
|
||||
else:
|
||||
return cv2.inRange(hsv, tuple(hsv_lower), tuple(hsv_upper))
|
||||
|
||||
class InterruptDelayed(object):
|
||||
|
||||
def __enter__(self):
|
||||
self.signal_received = False
|
||||
self.old_handler = signal.signal(signal.SIGINT, self.handler)
|
||||
|
||||
def handler(self, sig, frame):
|
||||
self.signal_received = (sig, frame)
|
||||
print('SIGINT received. Delaying KeyboardInterrupt.')
|
||||
|
||||
def __exit__(self, type, value, traceback):
|
||||
signal.signal(signal.SIGINT, self.old_handler)
|
||||
if self.signal_received:
|
||||
self.old_handler(*self.signal_received)
|
||||
|
||||
Reference in New Issue
Block a user