Example #1
0
    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
Example #2
0
    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
Example #3
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
Example #4
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