def _RunScripts(self, run_dir=None):
    """Retrieve metadata scripts and execute them.

    Args:
      run_dir: string, the base directory location of the temporary directory.
    """
    with _CreateTempDir(self.script_type, run_dir=run_dir) as dest_dir:
      try:
        self.logger.info('Starting %s scripts.', self.script_type)
        script_dict = self.retriever.GetScripts(dest_dir)
        self.executor.RunScripts(script_dict)
      finally:
        self.logger.info('Finished running %s scripts.', self.script_type)