@@ -43,14 +43,13 @@ class AdvancedSubscriber(Subscriber):
4343 def __init__ (self ):
4444 super ().__init__ ()
4545
46- self .subscriber = Subscriber ()
4746 self .config = Config ()
4847 self .settings = Settings ()
4948 self .lastmessage = 0.0
5049
51- self .subscriber . set_subscriptionupdated_receiver (self .subscription_updated )
52- self .subscriber . set_newmeasurements_receiver (self .new_measurements )
53- self .subscriber . set_connectionterminated_receiver (self .connection_terminated )
50+ self .set_subscriptionupdated_receiver (self .subscription_updated )
51+ self .set_newmeasurements_receiver (self .new_measurements )
52+ self .set_connectionterminated_receiver (self .connection_terminated )
5453
5554 def subscription_updated (self , signalindexcache : SignalIndexCache ):
5655 self .statusmessage (f"Received signal index cache with { signalindexcache .count :,} mappings" )
@@ -59,21 +58,24 @@ def new_measurements(self, measurements: List[Measurement]):
5958 if time () - self .lastmessage < 5.0 :
6059 return
6160
62- if self .lastmessage == 0.0 :
63- self .statusmessage ("Receiving measurements..." )
64- return
61+ try :
62+ if self .lastmessage == 0.0 :
63+ self .statusmessage ("Receiving measurements..." )
64+ return
6565
66- message = [
67- f"{ self .total_measurementsreceived :,} measurements received so far...\n " ,
68- f"Timestamp: { Ticks .to_string (measurements [0 ].timestamp )} \n " ,
69- "\t ID\t Signal ID\t \t \t \t Value\n "
70- ]
66+ message = [
67+ f"{ self .total_measurementsreceived :,} measurements received so far...\n " ,
68+ f"Timestamp: { Ticks .to_string (measurements [0 ].timestamp )} \n " ,
69+ "\t ID\t Signal ID\t \t \t \t Value\n "
70+ ]
7171
72- for measurement in measurements :
73- metadata = self .measurement_metadata (measurement )
74- message .append (f"\t { metadata .id } \t { measurement .signalid } \t { measurement .value :.6} \n " )
72+ for measurement in measurements :
73+ metadata = self .measurement_metadata (measurement )
74+ message .append (f"\t { metadata .id } \t { measurement .signalid } \t { measurement .value :.6} \n " )
7575
76- self .lastmessage = time ()
76+ self .statusmessage ("" .join (message ))
77+ finally :
78+ self .lastmessage = time ()
7779
7880 def connection_terminated (self ):
7981 # Call default implementation which will display a connection terminated message to stderr
0 commit comments