-
Notifications
You must be signed in to change notification settings - Fork 0
/
filters.py
61 lines (50 loc) · 1.56 KB
/
filters.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import logging
from exceptions import *
class AppNameFilter(logging.Filter):
def __init__(self, appName):
super().__init__()
self.appName = appName
def filter(self, record):
record.application_name = self.appName
return True
class ModuleFilter(logging.Filter):
def __init__(self, module):
super().__init__()
self.module = module
def filter(self, record):
try:
record.module = self.module.hwid
except DisconnectedModuleException as dme:
return True
except Exception as e:
record.exception = e.__repr__()
return True
return True
class SensorFilter(logging.Filter):
def __init__(self, sensor):
super().__init__()
self.sensor = sensor
def filter(self, record):
try:
unit = self.sensor.get_unit()
except DisconnectedModuleException as dme:
return True
except Exception as e:
record.exception = e.__repr__()
return True
try:
value = self.sensor.get_value()
except DisconnectedModuleException as dme:
return True
except Exception as e:
record.exception = e.__repr__()
return True
if self.sensor.type == "temperature":
record.temperature = value
elif self.sensor.type == "humidity":
record.humidity = value
elif self.sensor.type == "pressure":
record.pressure = value
else:
return True
return True