def install_driver(uid, driver, version=None): driver_path = os.path.join(PATH_DRIVER, driver) if os.path.exists(driver_path): shutil.rmtree(driver_path) ret = install(uid, driver, version, DRIVER) if not ret: log_err( 'util', 'failed to install driver, uid=%s, driver=%s, version=%s' % (str(uid), str(driver), str(version))) return False dirname = tempfile.mkdtemp() try: src = os.path.join(dirname, driver) + '.zip' with open(src, 'wb') as f: f.write(ret) dest = os.path.join(dirname, driver) unzip_file(src, dest) dep_path = os.path.join(dest, 'dep') if not _check_dep(dep_path): log_err( 'util', 'failed to install driver, invalid dependency, uid=%s, driver=%s, version=%s' % (str(uid), str(driver), str(version))) return False os.remove(dep_path) shutil.copytree(dest, driver_path) finally: shutil.rmtree(dirname) return True
def _install(self, buf): dirname = tempfile.mkdtemp() try: src = os.path.join(dirname, 'app.zip') with open(src, 'wb') as f: f.write(buf) dest = os.path.join(dirname, 'app') unzip_file(src, dest) cmd = 'python %s %s' % (PATH_INSTALLER, dest) status, output = commands.getstatusoutput(cmd) if status == 0: return output finally: shutil.rmtree(dirname)
def download_src(username, src_name, src_type): rpcclient = RPCClient('127.0.0.1', 9001) ret = rpcclient.request('download_src', [username], {'src_name':src_name, 'src_type':src_type}) tmp_name = make_tmp_name() if not os.path.isdir(TMP_DIR): os.makedirs(TMP_DIR) tmpdir_path = os.path.join(TMP_DIR, tmp_name) if not os.path.isdir(tmpdir_path):os.mkdir(tmpdir_path) src_path = os.path.join(tmpdir_path, src_name) print 'install.download_src() is : %s' % src_path with open(src_path, 'wb') as f: f.write(ret) res_src_name = src_name[:-4] res_src_path = os.path.join(tmpdir_path, res_src_name) unzip_file(src_path, res_src_path) if ret: return res_src_path return None
def install_driver(uid, package, version=None): driver_path = os.path.join(PATH_DRIVER, package) if os.path.exists(driver_path): shutil.rmtree(driver_path) ret = install(uid, package, version, DRIVER) if not ret: log_err('util', 'failed to install driver, uid=%s, driver=%s, version=%s' % (str(uid), str(package), str(version))) return False dirname = tempfile.mkdtemp() try: src = os.path.join(dirname, package) + '.zip' with open(src, 'wb') as f: f.write(ret) dest = os.path.join(dirname, package) unzip_file(src, dest) dep_path = os.path.join(dest, 'dep') if not _check_dep(dep_path): log_err('util', 'failed to install driver, invalid dependency, uid=%s, driver=%s, version=%s' % (str(uid), str(package), str(version))) return False os.remove(dep_path) shutil.copytree(dest, driver_path) finally: shutil.rmtree(dirname) return True
def download_src(username, src_name, src_type): rpcclient = RPCClient('127.0.0.1', 9001) ret = rpcclient.request('download_src', [username], { 'src_name': src_name, 'src_type': src_type }) tmp_name = make_tmp_name() if not os.path.isdir(TMP_DIR): os.makedirs(TMP_DIR) tmpdir_path = os.path.join(TMP_DIR, tmp_name) if not os.path.isdir(tmpdir_path): os.mkdir(tmpdir_path) src_path = os.path.join(tmpdir_path, src_name) print 'install.download_src() is : %s' % src_path with open(src_path, 'wb') as f: f.write(ret) res_src_name = src_name[:-4] res_src_path = os.path.join(tmpdir_path, res_src_name) unzip_file(src_path, res_src_path) if ret: return res_src_path return None