CLIController.py
changeset 3812 92e528718733
parent 3787 56ceda9889f8
equal deleted inserted replaced
3811:fcd2826f5c9e 3812:92e528718733
    76     def __init__(self, session):
    76     def __init__(self, session):
    77         self.session = session
    77         self.session = session
    78         log = Log()
    78         log = Log()
    79         LocalRuntimeMixin.__init__(self, log, use_gui=False)
    79         LocalRuntimeMixin.__init__(self, log, use_gui=False)
    80         ProjectController.__init__(self, None, log)
    80         ProjectController.__init__(self, None, log)
    81         self.CLIStatusTimer = None
       
    82         self.KillCLIStatusTimer = False
       
    83 
       
    84 
       
    85     def StartCLIStatusTimer(self):
       
    86         if self.CLIStatusTimer is not None:
       
    87             return
       
    88         self.CLIStatusTimer = Timer(0.5, self.CLIStatusTimerProc)
       
    89         self.KillCLIStatusTimer = False
       
    90         self.CLIStatusTimer.start()
       
    91 
       
    92     def StopCLIStatusTimer(self):
       
    93         if self.CLIStatusTimer is None:
       
    94             return
       
    95         self.KillCLIStatusTimer = True
       
    96         self.CLIStatusTimer.cancel()
       
    97         self.CLIStatusTimer = None
       
    98 
       
    99     def CLIStatusTimerProc(self):
       
   100         self.CLIStatusTimer = None
       
   101         if not self.KillCLIStatusTimer:
       
   102             self.PullPLCStatusProc(None)
       
   103             self.StartCLIStatusTimer()
       
   104 
    81 
   105     def _SetConnector(self, connector, update_status=True):
    82     def _SetConnector(self, connector, update_status=True):
   106         self._connector = connector
    83         self._connector = connector
   107         self.previous_log_count = [None]*LogLevelsCount
    84         self.previous_log_count = [None]*LogLevelsCount
   108         if connector is not None:
    85         if connector is None and update_status:
   109             self.StartCLIStatusTimer()
       
   110         else:
       
   111             self.StopCLIStatusTimer()
       
   112             if update_status:
       
   113                 self.UpdateMethodsFromPLCStatus()
    86                 self.UpdateMethodsFromPLCStatus()
   114 
    87 
   115     def UpdatePLCLog(self, log_count):
    88     def UpdatePLCLog(self, log_count):
   116         connector = self._connector
    89         connector = self._connector
   117         new_messages = []
    90         new_messages = []