示例#1
0
 def get(self, from_path, to_path=''):
     if not to_path:
         to_path = os.path.basename(from_path)
     to_file = open(os.path.expanduser(to_path), "wb")
     f, metadata = self.api_client.get_file_and_metadata(from_path)
     print('Downloading %s => %s: %s' %
             (from_path, to_path, metadata['size'].encode('utf-8')))
     total_size = metadata.get('bytes', 0)
     cur_size = 0
     bufsize = 4096
     data = f.read(bufsize)
     while data != '':
         cur_size += len(data)
         to_file.write(data)
         file_callback(cur_size, total_size)
         data = f.read(bufsize)
     sys.stdout.write('\n')  # to keep process bar
     to_file.close()
     return total_size
示例#2
0
 def get(self, from_path, to_path=''):
     if not to_path:
         to_path = os.path.basename(from_path)
     to_file = FileCallback(os.path.expanduser(to_path), "wb")
     rs = self.api_client.download_file(from_path)
     md = self.api_client.metadata(from_path)
     total_size = md.get('size', 0)
     cur_size = 0
     bufsize = 4096
     print('Downloading %s => %s: %s' %
             (from_path, to_path, sizeof_fmt(total_size)))
     data = rs.read(bufsize)
     while data != '':
         cur_size += len(data)
         to_file.write(data)
         file_callback(cur_size, total_size)
         data = rs.read(bufsize)
     sys.stdout.write('\n')  # to keep process bar
     to_file.close()
     return total_size