Handles external interrupt, usually initiated by the user like KeyboardInterrupt with CTRL+C
(
threaded=False,
SIG_type=signal.SIGINT,
handler=signal.SIG_IGN,
notify=None,
logger=None,
)
| 1333 | |
| 1334 | @contextmanager |
| 1335 | def interruption_handler( |
| 1336 | threaded=False, |
| 1337 | SIG_type=signal.SIGINT, |
| 1338 | handler=signal.SIG_IGN, |
| 1339 | notify=None, |
| 1340 | logger=None, |
| 1341 | ): |
| 1342 | """Handles external interrupt, usually initiated by the user like |
| 1343 | KeyboardInterrupt with CTRL+C""" |
| 1344 | if notify is not None and logger is not None: |
| 1345 | logger.warning(notify) |
| 1346 | |
| 1347 | original_handler = None |
| 1348 | |
| 1349 | if not threaded: |
| 1350 | original_handler = signal.signal(SIG_type, handler) |
| 1351 | |
| 1352 | try: |
| 1353 | yield |
| 1354 | |
| 1355 | finally: |
| 1356 | if not threaded: |
| 1357 | signal.signal(SIG_type, original_handler) |
| 1358 | |
| 1359 | |
| 1360 | def highlight_print( |
no outgoing calls
no test coverage detected