def _downloadFiles()

in benchmarking/run_lab.py [0:0]


    def _downloadFiles(self):
        """Download benchmark files."""
        try:
            # Download models
            self.job["models_location"] = []
            getLogger().info(
                f"Downloading models for benchmark {self.job['identifier']} id {self.job['id']}"
            )
            path = self._saveBenchmarks()
            location = self.benchmark_downloader.run(path)
            self.job["models_location"].extend(location)
            # Download programs
            if "info" in self.job["benchmarks"]:
                getLogger().info(
                    f"Downloading programs for benchmark {self.job['identifier']} id {self.job['id']}"
                )
                if "treatment" not in self.job["benchmarks"]["info"]:
                    getLogger().error(
                        "Field treatment " 'must exist in job["benchmarks"]'
                    )
                elif "programs" not in self.job["benchmarks"]["info"]["treatment"]:
                    getLogger().error(
                        'Field "program" must exist in '
                        'job["benchmarks"]["info"]["treatment"]'
                    )
                else:
                    treatment_info = self.job["benchmarks"]["info"]["treatment"]
                    getLogger().info("Downloading treatment binary")
                    treatment_locations = self._downloadBinaries(treatment_info)
                    self.job["programs_location"] = treatment_locations

                if "control" in self.job["benchmarks"]["info"]:
                    if "programs" not in self.job["benchmarks"]["info"]["control"]:
                        getLogger().error(
                            'Field "program" must exist in '
                            'job["benchmarks"]["info"]["control"]'
                        )
                    else:
                        control_info = self.job["benchmarks"]["info"]["control"]
                        getLogger().info("Downloading control binary")
                        control_locations = self._downloadBinaries(control_info)
                        self.job["programs_location"].extend(control_locations)
        except Exception:
            raise DownloadException(
                f"Failed to download files for benchmark {self.job['identifier']} id {self.job['id']}"
            )
        finally:
            gc.collect()