old_contents: #!/usr/bin/env python3
  # Copyright (c) 2017, John Skinner
  import sys
  import logging
  import logging.config
  
  import config.global_configuration as global_conf
  import database.client
  import batch_analysis.invalidate
  
  
  def main():
      """
      Run a particular task.
      :args: Only argument is the id of the task to run
      :return:
      """
      config = global_conf.load_global_config('config.yml')
      if __name__ == '__main__':
          # Only configure the logging if this is the main function, don't reconfigure
          logging.config.dictConfig(config['logging'])
      db_client = database.client.DatabaseClient(config=config)
  
      orbslam_ids = db_client.system_collection.find({'_type': 'systems.slam.orbslam2.ORBSLAM2'}, {'_id': True})
      for system_id in orbslam_ids:
          logging.getLogger(__name__).info("Invalidating system {0}".format(system_id['_id']))
          batch_analysis.invalidate.invalidate_system(db_client, system_id['_id'])
  
  
  if __name__ == '__main__':
      main()
  
new_contents: #!/usr/bin/env python3
  # Copyright (c) 2017, John Skinner
  import sys
  import logging
  import logging.config
  
  import config.global_configuration as global_conf
  import database.client
  import batch_analysis.invalidate
  
  
  def main():
      """
      Run a particular task.
      :args: Only argument is the id of the task to run
      :return:
      """
      config = global_conf.load_global_config('config.yml')
      if __name__ == '__main__':
          # Only configure the logging if this is the main function, don't reconfigure
          logging.config.dictConfig(config['logging'])
      db_client = database.client.DatabaseClient(config=config)
  
      orbslam_ids = db_client.system_collection.find({'_type': 'systems.slam.orbslam2.ORBSLAM2'}, {'_id': True})
      for system_id in orbslam_ids:
          logging.getLogger(__name__).info("Invalidating system {0}".format(system_id['_id']))
          batch_analysis.invalidate.invalidate_system(db_client, system_id['_id'])
  
      failed_trials = db_client.trials_collection.find({'success': False}, {'_id': True})
      for trial_id in failed_trials:
          logging.getLogger(__name__).info("Invalidating failed trial {0}".format(trial_id['_id']))
          batch_analysis.invalidate.invalidate_trial_result(db_client, trial_id['_id'])
  
  
  if __name__ == '__main__':
      main()
  
subject: Update invalidate to remove failed trials.