def _generate_zip(self, path, package, version, buf): filename = get_filename(package, version) filepath = os.path.join(path, filename) os.mknod(filepath) with open(filepath, 'w') as f: f.write(buf) return filename
def download(self, addr, port, package, version): dirname = tempfile.mkdtemp() filename = get_filename(package, version) path = os.path.join(dirname, filename) self.ftp.connect(addr, port) self.ftp.login(ADMIN_NAME, ADMIN_PASSWORD) try: ret = self.ftp.retrbinary("RETR " + filename, open(path, 'wb').write) with open(path, 'rb') as f: buf = f.read() self._print('finished downloading %s, version=%s' % (str(package), str(version))) return buf finally: shutil.rmtree(dirname)
def download(self, addr, port, package, version): self._print('start to download, package=%s, version=%s' % (package, version)) try: if SHOW_TIME: start_time = datetime.utcnow() ret = None cli = self._get_client(addr, port) filename = get_filename(package, version) with cli.read(filename) as reader: ret = reader.read() if SHOW_TIME: self._print('download, time=%d sec' % (datetime.utcnow() - start_time).seconds) if ret: return ret except: show_error(self, 'failed to download')
def upload(self, addr, port, package, version, buf): self._print('start to upload, package=%s, version=%s' % (package, version)) try: if SHOW_TIME: start_time = datetime.utcnow() if not buf: show_error(self, 'invalid buf, cannot upload buf to HDFS') return cli = self._get_client(addr, port) filename = get_filename(package, version) with cli.write(filename) as writer: writer.write(buf) if SHOW_TIME: self._print('upload, time=%d sec' % (datetime.utcnow() - start_time).seconds) return True except: show_error(self, 'failed to upload')