12
12
_LOGGER = logging .getLogger (__name__ )
13
13
14
14
15
- def _insert_row (host : str , port : int , auth : tuple , event : Event ) -> None :
16
- tls = bool (auth )
17
- with Sender (host , port , auth = auth , tls = tls ) as sender :
15
+ def _insert_row_with_auth (host : str , port : int , auth : tuple , event : Event ) -> None :
16
+ with Sender (host , port , auth = auth , tls = True ) as sender :
17
+ entity_id = event .data ["entity_id" ]
18
+ state = event .data .get ("new_state" )
19
+ attrs = dict (state .attributes )
20
+ sender .row (
21
+ "qss" ,
22
+ symbols = {
23
+ "entity_id" : entity_id ,
24
+ },
25
+ columns = {
26
+ "state" : state .state ,
27
+ "attributes" : dumps (attrs , sort_keys = True , default = str ),
28
+ },
29
+ at = event .time_fired ,
30
+ )
31
+
32
+ sender .flush ()
33
+
34
+
35
+ def _insert_row_without_auth (host : str , port : int , event : Event ) -> None :
36
+ with Sender (host , port ) as sender :
18
37
entity_id = event .data ["entity_id" ]
19
38
state = event .data .get ("new_state" )
20
39
attrs = dict (state .attributes )
@@ -40,7 +59,10 @@ def _insert_row(host: str, port: int, auth: tuple, event: Event) -> None:
40
59
)
41
60
def _retry_data_insertion (host : str , port : int , auth : tuple , event : Event ) -> None :
42
61
"""Use a retry for inserting event data into QuestDB."""
43
- _insert_row (host , port , auth , event )
62
+ if all (auth ):
63
+ _insert_row_with_auth (host , port , auth , event )
64
+ else :
65
+ _insert_row_without_auth (host , port , event )
44
66
45
67
46
68
def insert_event_data_into_questdb (host : str , port : int , auth : tuple , event : Event , queue : Queue ) -> None :
0 commit comments