Exemplo n.º 1
0
    def _extract_response_data(self, response):
        """Extract response data.

        :param response: Django http response object.
        :type response: django.http.HttpResponse
        :return: Extracted data.
        :rtype: dict
        """
        try:
            content_type = response.get('Content-Type', '')
            ct = content_type.lower()

            if 'json' in ct:
                response_content = loads(response._container[0])
            elif 'xml' in ct:
                response_content = response._container[0].decode('utf-8', errors='ignore')
            else:
                response_content = None
        except:
            response_content = None

        return {
            'content': fix_dict(response_content),
            'type': response.get('Content-Type', ''),
            'status_code': response.status_code,
            }
Exemplo n.º 2
0
    def test_fix_dict(self):
        initial_dict = {
            'foo.bar': 'foo',
            'bar$foo': 'bar'
        }

        fixed_dict = utils.fix_dict(initial_dict)
        self.assertDictEqual(fixed_dict, {'foo_bar': 'foo', 'bar_foo': 'bar'})