docs: def generateSummary(self, extraLapse = TYPICAL_LAPSE):
  		'''Generates a summary of the status of the expected scripts broken based on the log.
  			This summary (a list of strings) is returned as well as a list with the dates (which
  			can be used to index the log)of the most recent attempts at the failed jobs. 
  		'''
  		scriptsRun = self.scriptsRun
  		
  		body = []
  		
  		numberOfFailed = 0
  		numberWithWarnings = 0
  		failedList = []
  		successList = []
  		warningsList = []
  		
  		for name, details in sorted(scriptsRun.iteritems()):
  			status = None
  			daysSinceSuccess = None
  			
  			if details["lastSuccess"] and expectedScripts.get(name):
  				daysSinceSuccess = expectedScripts.get(name).getDaysSinceLastSuccess(details["lastSuccess"])
  				if not expectedScripts.check(name, details["lastSuccess"], extraLapse): 
  					status = "FAILED"
  			else:
  				status = "FAILED"
  			
  			if not status:
  				if details["status"] & RETROSPECT_FAIL:
  					status = "FAILED"
  				elif details["status"] & RETROSPECT_WARNING:
  					status = "WARNINGS"
  				elif status != "FAILED":
  					status = "OK"
  			
  			if details["lastSuccess"] and daysSinceSuccess:
  				lastSuccessDetails = "Last successful run on %s (%0.1f days ago)" % (details["lastSuccess"], daysSinceSuccess)
  			else:
  				lastSuccessDetails = "No recent successful run."
  			
  			if details["lastRun"]:
  				lastRunDetails = "Last run on %s (%s)" % (details["lastRun"], status)
  			else:
  				lastRunDetails = "No recent run (%s)" % status
  				 
  			if status == "FAILED":
  				numberOfFailed += 1
  				failedList.append("%s: %s. %s" % (name, lastRunDetails, lastSuccessDetails))
  			elif status == "WARNINGS":
  				numberWithWarnings += 1
  				warningsList.append("%s: %s. %s" % (name, lastRunDetails, lastSuccessDetails))
  			else:
  				successList.append("%s: %s. %s" % (name, lastRunDetails, lastSuccessDetails))
  		
  		body = []
  		if failedList:
  			body.append("FAILED JOBS (%d)" % numberOfFailed)
  			body.append("****************")
  			for j in failedList:
  				body.append(j)
  			body.append("\n")
  		if warningsList:
  			body.append("JOBS WITH WARNINGS (%d)" % numberWithWarnings)
  			body.append("***********************")
  			for j in warningsList:
  				body.append(j)
  			body.append("\n")
  		if successList:
  			body.append("SUCCESSFUL JOBS")
  			body.append("***************")
  			for j in successList:
  				body.append(j)
  		
  		return body, failedList