py.lib

Yohn Y. 2022-08-20 Parent:ff755f64cda8

38:4f4cc2fc9805 Go to Latest

py.lib/Alarm.py

. Полный рефакторинг кода модулей dataclass_utils.py и config_parse_helper.py. Теперь логика предсказуема. + функция dataobj_extract не просто бездумно загоняет данные в класс данных, но имеет функционал проверки данных с возбуждением исключения при разнице (по умолчанию) и принудительного приведения типов.

History
1 #!/usr/bin/python
2 # coding: utf-8
4 from signal import SIGALRM, alarm, signal
7 class AlarmTimeout(Exception):
8 pass
11 def _handler(sig, frame):
12 raise AlarmTimeout('Operation timeout')
15 class Alarm(object):
16 def __init__(self, timeout):
17 signal(SIGALRM, _handler)
18 alarm(timeout)
20 def __enter__(self):
21 pass
23 def __exit__(self, e_type, e_obj, tb):
24 if e_obj is None:
25 alarm(0)
27 def __del__(self):
28 alarm(0)