Example #1
0
 def _decode_search_doc(self, doc):
     resultdoc = MultiDict()
     for pair in doc.fields:
         ukey = unicode(pair.key, 'utf-8')
         uval = unicode(pair.value, 'utf-8')
         resultdoc.add(ukey, uval)
     return resultdoc.mixed()
Example #2
0
 def _decode_search_doc(self, doc):
     resultdoc = MultiDict()
     for pair in doc.fields:
         ukey = unicode(pair.key, 'utf-8')
         uval = unicode(pair.value, 'utf-8')
         resultdoc.add(ukey, uval)
     return resultdoc.mixed()
Example #3
0
 def _decode_search_doc(self, doc):
     resultdoc = MultiDict()
     for pair in doc.fields:
         if PY2:
             ukey = unicode(pair.key, 'utf-8')    # noqa
             uval = unicode(pair.value, 'utf-8')  # noqa
         else:
             ukey = bytes_to_str(pair.key)
             uval = bytes_to_str(pair.value)
         resultdoc.add(ukey, uval)
     return resultdoc.mixed()
Example #4
0
 def _decode_search_doc(self, doc):
     resultdoc = MultiDict()
     for pair in doc.fields:
         if PY2:
             ukey = unicode(pair.key, 'utf-8')  # noqa
             uval = unicode(pair.value, 'utf-8')  # noqa
         else:
             ukey = bytes_to_str(pair.key)
             uval = bytes_to_str(pair.value)
         resultdoc.add(ukey, uval)
     return resultdoc.mixed()
Example #5
0
    def _build_put_headers(self, robj):
        """Build the headers for a POST/PUT request."""

        # Construct the headers...
        if robj.charset is not None:
            content_type = ('%s; charset="%s"' %
                            (robj.content_type, robj.charset))
        else:
            content_type = robj.content_type
        headers = MultiDict({
            'Accept': 'text/plain, */*; q=0.5',
            'Content-Type': content_type,
            'X-Riak-ClientId': self._client_id
        })
        # Add the vclock if it exists...
        if robj.vclock is not None:
            headers['X-Riak-Vclock'] = robj.vclock

        # Create the header from metadata
        self._add_links_for_riak_object(robj, headers)

        for key, value in robj.usermeta.iteritems():
            headers['X-Riak-Meta-%s' % key] = value

        for field, value in robj.indexes:
            key = 'X-Riak-Index-%s' % field
            if key in headers:
                headers[key] += ", " + str(value)
            else:
                headers[key] = str(value)

        return headers
Example #6
0
    def _build_put_headers(self, robj, if_none_match=False):
        """Build the headers for a POST/PUT request."""

        # Construct the headers...
        if robj.charset is not None:
            content_type = ('%s; charset="%s"' %
                            (robj.content_type, robj.charset))
        else:
            content_type = robj.content_type

        headers = MultiDict({'Content-Type': content_type,
                             'X-Riak-ClientId': self._client_id})

        # Add the vclock if it exists...
        if robj.vclock is not None:
            headers['X-Riak-Vclock'] = robj.vclock.encode('base64')

        # Create the header from metadata
        self._add_links_for_riak_object(robj, headers)

        for key in robj.usermeta.keys():
            headers['X-Riak-Meta-%s' % key] = robj.usermeta[key]

        for field, value in robj.indexes:
            key = 'X-Riak-Index-%s' % field
            if key in headers:
                headers[key] += ", " + str(value)
            else:
                headers[key] = str(value)

        if if_none_match:
            headers['If-None-Match'] = '*'

        return headers
Example #7
0
    def build_put_headers(self, robj):
        """Build the headers for a POST/PUT request."""

        # Construct the headers...
        headers = MultiDict({
            'Accept': 'text/plain, */*; q=0.5',
            'Content-Type': robj.get_content_type(),
            'X-Riak-ClientId': self._client_id
        })

        # Add the vclock if it exists...
        if robj.vclock() is not None:
            headers['X-Riak-Vclock'] = robj.vclock()

        # Create the header from metadata
        links = self.add_links_for_riak_object(robj, headers)

        for key, value in robj.get_usermeta().iteritems():
            headers['X-Riak-Meta-%s' % key] = value

        for rie in robj.get_indexes():
            key = 'X-Riak-Index-%s' % rie.get_field()
            if key in headers:
                headers[key] += ", " + rie.get_value()
            else:
                headers[key] = rie.get_value()

        return headers