def get_recipe_sources(self, conan_reference, export_folder, remote): t1 = time.time() def filter_function(urls): file_url = urls.get(EXPORT_SOURCES_TGZ_NAME) if file_url: urls = {EXPORT_SOURCES_TGZ_NAME: file_url} else: return None return urls zipped_files = self._call_remote(remote, "get_recipe", conan_reference, export_folder, filter_function) duration = time.time() - t1 log_recipe_sources_download(conan_reference, duration, remote, zipped_files) sources_folder = os.path.join(export_folder, EXPORT_SOURCES_DIR) if not zipped_files: mkdir(sources_folder) # create the folder even if no source files return unzip_and_get_files(zipped_files, export_folder, EXPORT_SOURCES_TGZ_NAME) for dirname, _, filenames in os.walk(sources_folder): for fname in filenames: touch(os.path.join(dirname, fname))
def get_recipe_sources(self, ref, export_folder, export_sources_folder, remote): assert ref.revision, "get_recipe_sources requires RREV" t1 = time.time() zipped_files = self._call_remote(remote, "get_recipe_sources", ref, export_folder) if not zipped_files: mkdir(export_sources_folder ) # create the folder even if no source files return duration = time.time() - t1 log_recipe_sources_download(ref, duration, remote.name, zipped_files) unzip_and_get_files(zipped_files, export_sources_folder, EXPORT_SOURCES_TGZ_NAME, output=self._output) # REMOVE in Conan 2.0 c_src_path = os.path.join(export_sources_folder, EXPORT_SOURCES_DIR_OLD) if os.path.exists(c_src_path): merge_directories(c_src_path, export_sources_folder) rmdir(c_src_path) touch_folder(export_sources_folder)
def get_recipe_sources(self, conan_reference, export_folder, export_sources_folder, remote): t1 = time.time() def filter_function(urls): file_url = urls.get(EXPORT_SOURCES_TGZ_NAME) if file_url: urls = {EXPORT_SOURCES_TGZ_NAME: file_url} else: return None return urls urls = self._call_remote(remote, "get_recipe_urls", conan_reference) urls = filter_function(urls) if not urls: return conan_reference zipped_files = self._call_remote(remote, "download_files_to_folder", urls, export_folder) duration = time.time() - t1 log_recipe_sources_download(conan_reference, duration, remote, zipped_files) if not zipped_files: mkdir(export_sources_folder) # create the folder even if no source files return unzip_and_get_files(zipped_files, export_sources_folder, EXPORT_SOURCES_TGZ_NAME) c_src_path = os.path.join(export_sources_folder, EXPORT_SOURCES_DIR_OLD) if os.path.exists(c_src_path): merge_directories(c_src_path, export_sources_folder) rmdir(c_src_path) touch_folder(export_sources_folder)
def get_recipe_sources(self, conan_reference, export_folder, export_sources_folder, remote): t1 = time.time() zipped_files = self._call_remote(remote, "get_recipe_sources", conan_reference, export_folder) if not zipped_files: mkdir(export_sources_folder ) # create the folder even if no source files return conan_reference duration = time.time() - t1 log_recipe_sources_download(conan_reference, duration, remote.name, zipped_files) unzip_and_get_files(zipped_files, export_sources_folder, EXPORT_SOURCES_TGZ_NAME, output=self._output) c_src_path = os.path.join(export_sources_folder, EXPORT_SOURCES_DIR_OLD) if os.path.exists(c_src_path): merge_directories(c_src_path, export_sources_folder) rmdir(c_src_path) touch_folder(export_sources_folder) return conan_reference
def get_recipe_sources(self, conan_reference, export_folder, export_sources_folder, remote): t1 = time.time() def filter_function(urls): file_url = urls.get(EXPORT_SOURCES_TGZ_NAME) if file_url: urls = {EXPORT_SOURCES_TGZ_NAME: file_url} else: return None return urls urls = self._call_remote(remote, "get_recipe_urls", conan_reference) urls = filter_function(urls) if not urls: return conan_reference zipped_files = self._call_remote(remote, "download_files_to_folder", urls, export_folder) duration = time.time() - t1 log_recipe_sources_download(conan_reference, duration, remote, zipped_files) if not zipped_files: mkdir(export_sources_folder) # create the folder even if no source files return unzip_and_get_files(zipped_files, export_sources_folder, EXPORT_SOURCES_TGZ_NAME) c_src_path = os.path.join(export_sources_folder, EXPORT_SOURCES_DIR_OLD) if os.path.exists(c_src_path): merge_directories(c_src_path, export_sources_folder) rmdir(c_src_path) touch_folder(export_sources_folder)
def get_recipe_sources(self, conan_reference, export_folder, remote): t1 = time.time() def filter_function(urls): file_url = urls.get(EXPORT_SOURCES_TGZ_NAME) if file_url: urls = {EXPORT_SOURCES_TGZ_NAME: file_url} else: return None return urls zipped_files = self._call_remote(remote, "get_recipe", conan_reference, export_folder, filter_function) duration = time.time() - t1 log_recipe_sources_download(conan_reference, duration, remote, zipped_files) sources_folder = os.path.join(export_folder, EXPORT_SOURCES_DIR) if not zipped_files: mkdir(sources_folder) # create the folder even if no source files return unzip_and_get_files(zipped_files, export_folder, EXPORT_SOURCES_TGZ_NAME) for dirname, _, filenames in os.walk(sources_folder): for fname in filenames: touch(os.path.join(dirname, fname))
def get_recipe_sources(self, ref, layout, remote): assert ref.revision, "get_recipe_sources requires RREV" t1 = time.time() download_folder = layout.download_export() export_sources_folder = layout.export_sources() zipped_files = self._call_remote(remote, "get_recipe_sources", ref, download_folder) if not zipped_files: mkdir(export_sources_folder) # create the folder even if no source files return duration = time.time() - t1 log_recipe_sources_download(ref, duration, remote.name, zipped_files) tgz_file = zipped_files[EXPORT_SOURCES_TGZ_NAME] check_compressed_files(EXPORT_SOURCES_TGZ_NAME, zipped_files) uncompress_file(tgz_file, export_sources_folder, output=self._output) touch_folder(export_sources_folder)