예제 #1
0
파일: ftpclient.py 프로젝트: tx626/dpm
 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
예제 #2
0
파일: ftpclient.py 프로젝트: tx626/dpm
 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)
예제 #3
0
파일: hdfsclient.py 프로젝트: tx626/dpm
 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')
예제 #4
0
파일: hdfsclient.py 프로젝트: tx626/dpm
 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')