docs: def update(self,
                 stats,
                 duration=3,
                 cs_status=None,
                 return_to_browser=False):
          """Update the screen.
  
          INPUT
          stats: Stats database to display
          duration: duration of the loop
          cs_status:
              "None": standalone or server mode
              "Connected": Client is connected to the server
              "Disconnected": Client is disconnected from the server
          return_to_browser:
              True: Do not exist, return to the browser list
              False: Exit and return to the shell
  
          OUTPUT
          True: Exit key has been pressed
          False: Others cases...
          """
          # Flush display
          self.flush(stats, cs_status=cs_status)
  
          # If the duration is < 0 (update + export time > refresh_time)
          # Then display the interface and log a message
          if duration <= 0:
              logger.warning('Update and export time higher than refresh_time.')
              duration = 0.1
  
          # Wait duration (in s) time
          exitkey = False
          countdown = Timer(duration)
          # Set the default timeout (in ms) for the getch method
          self.term_window.timeout(int(duration * 1000))
          while not countdown.finished() and not exitkey:
              # Getkey
              pressedkey = self.__catch_key(return_to_browser=return_to_browser)
              # Is it an exit key ?
              exitkey = (pressedkey == ord('\x1b') or pressedkey == ord('q'))
              if not exitkey and pressedkey > -1:
                  # Redraw display
                  self.flush(stats, cs_status=cs_status)
                  # Overwrite the timeout with the countdown
                  self.term_window.timeout(int(countdown.get() * 1000))
  
          return exitkey