              logger.warning("Unable to load state file. Graphing disabled: %s", str(err))
  
      def get_iterations_for_session(self, session_id):
          """ Return the number of iterations for the given session id """
          return self.state["sessions"][str(session_id)]["iterations"]
  
  
  class SessionsSummary():
      """ Calculations for analysis summary stats """
  
 
</s> remove         return self.state["sessions"][str(self.session_id)]
 </s> add         return self.state["sessions"].get(str(self.session_id), dict())
        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"]
              logger.warning("Unable to load state file. Graphing disabled: %s", str(err))
  
      def get_iterations_for_session(self, session_id):
          """ Return the number of iterations for the given session id """
        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"]
  
  
  class SessionsSummary():
      """ Calculations for analysis summary stats """
  
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