def _read(self, name, start_range=None, end_range=None): name = self._clean_name(name) if start_range is None: headers = {} else: headers = {'Range': 'bytes=%s-%s' % (start_range, end_range)} response = self.connection.get_object(self.bucket, name, headers) if (response.status / 100) != 2: raise IOError('OSSStorageError: %s' % response.read()) header_map = convert_header2map(response.getheaders()) content_len = safe_get_element('content-length', header_map) etag = safe_get_element('etag', header_map).upper() return response.read(), etag, content_len
def _read(self, name, start_range=None, end_range=None): name = self._clean_name(name) if start_range is None: headers = {} else: headers = {'Range': 'bytes=%s-%s' % (start_range, end_range)} response = self.connection.get_object(self.bucket, name, headers) if (response.status / 100) != 2: raise IOError("OSSStorageError: %s" % response.read()) header_map = convert_header2map(response.getheaders()) content_len = safe_get_element("content-length", header_map) etag = safe_get_element("etag", header_map).upper() return response.read(), etag, content_len
def size(self, name): name = self._clean_name(name) response = self.connection.head_object(self.bucket, name) header_map = convert_header2map(response.getheaders()) content_len = safe_get_element('content-length', header_map) return content_len and int(content_len) or 0
def size(self, name): name = self._clean_name(name) response = self.connection.head_object(self.bucket, name) header_map = convert_header2map(response.getheaders()) content_len = safe_get_element("content-length", header_map) return content_len and int(content_len) or 0