def extract_zip(zip_fpath, dir_path=None): if not dir_path: dirname = get_random_name() dir_path = os.path.join(get_tmp_dir(), dirname) unzip_file_into_dir(open(zip_fpath, 'rb'), dir_path) return dir_path
def _upload_package_dir(self, package_dir_path, package_home): tmp_fname = get_random_name() tmp_fpath = os.path.join(get_tmp_dir(), tmp_fname) try: zip_dir(package_dir_path, tmp_fpath) response = self._upload_package_zip(tmp_fpath, package_home) return response finally: if os.path.exists(tmp_fpath): os.remove(tmp_fpath)
def _download_package(self, class_id, package_version): zip_fpath = os.path.join(get_tmp_dir(), get_random_name()) try: CLIENT.repo_uri = self.uri CLIENT.download(zip_fpath, class_id, package_version) repo_dirpath = self._get_repo_dir() package_id = self._get_package_id(class_id, package_version) package_home = '.'.join(package_id.split('.')[:-1]) add_package(zip_fpath, package_home, repo_dirpath) finally: if os.path.exists(zip_fpath): os.remove(zip_fpath)