  
      @property
      def session(self):
          """ Return current session dictionary """
          return self.state["sessions"][str(self.session_id)]
  
      @property
      def session_ids(self):
          """ Return sorted list of all existing session ids in the state file """
          return sorted([int(key) for key in self.state["sessions"].keys()])
 
</s> remove         return self.state["sessions"][str(session_id)]["iterations"]
 </s> add         session = self.state["sessions"].get(str(session_id), None)
        if session is None:
            logger.warning("No session data found for session id: %s", session_id)
            return 0
        return session["iterations"] </s> remove         session = get_config().session
 </s> add         session = get_config()().session
        return self.state["sessions"].get(str(self.session_id), dict())
  
      @property
      def session(self):
          """ Return current session dictionary """
        return self.state["sessions"].get(str(self.session_id), dict())
  
      @property
      def session_ids(self):
          """ Return sorted list of all existing session ids in the state file """
          return sorted([int(key) for key in self.state["sessions"].keys()])
keep keep keep keep replace keep keep keep keep keep
 GUI Fixups

- Analysis: Handle missing session Ids
- Analysis: Handle invalid data selections
- Analysis: Don't update graph on check box selection
- Analysis: Add cursor events to analysis tab
- Analysis: Change default graph view
- Training: Prevent GUI from attempting to close graphs which do not exist
- Extract/Convert: Make file extensions case-insensitive for preview
- Progress bar: Make compatible for downloads
- Progress bar: Add TQDM Description to progress bar stats text 
lib/gui/stats.py