Esempio n. 1
0
File: tests.py Progetto: 10sr/hue
 def test_alternate_charset_POST(self):
     """
     Test a POST with non-utf-8 payload encoding.
     """
     payload = FakePayload(original_urlencode({'key': 'España'.encode('latin-1')}))
     request = WSGIRequest({
         'REQUEST_METHOD': 'POST',
         'CONTENT_LENGTH': len(payload),
         'CONTENT_TYPE': 'application/x-www-form-urlencoded; charset=iso-8859-1',
         'wsgi.input': payload,
     })
     self.assertEqual(request.POST, {'key': ['España']})
Esempio n. 2
0
 def test_alternate_charset_POST(self):
     """
     Test a POST with non-utf-8 payload encoding.
     """
     payload = FakePayload(original_urlencode({'key': 'España'.encode('latin-1')}))
     request = WSGIRequest({
         'REQUEST_METHOD': 'POST',
         'CONTENT_LENGTH': len(payload),
         'CONTENT_TYPE': 'application/x-www-form-urlencoded; charset=iso-8859-1',
         'wsgi.input': payload,
     })
     self.assertEqual(request.POST, {'key': ['España']})
Esempio n. 3
0
File: http.py Progetto: shobull/hue
def urlencode(query, doseq=0):
    """
    A version of Python's urllib.urlencode() function that can operate on
    unicode strings. The parameters are first cast to UTF-8 encoded strings and
    then encoded as per normal.
    """
    if isinstance(query, MultiValueDict):
        query = query.lists()
    elif hasattr(query, "items"):
        query = query.items()
    return original_urlencode(
        [(force_str(k), [force_str(i) for i in v] if isinstance(v, (list, tuple)) else force_str(v)) for k, v in query],
        doseq,
    )
Esempio n. 4
0
 def test_alternate_charset_POST(self):
     """
     Test a POST with non-utf-8 payload encoding.
     """
     payload = FakePayload(original_urlencode({"key": "España".encode("latin-1")}))
     request = WSGIRequest(
         {
             "REQUEST_METHOD": "POST",
             "CONTENT_LENGTH": len(payload),
             "CONTENT_TYPE": "application/x-www-form-urlencoded; charset=iso-8859-1",
             "wsgi.input": payload,
         }
     )
     self.assertEqual(request.POST, {"key": ["España"]})
Esempio n. 5
0
def urlencode(query, doseq=0):
    """
    A version of Python's urllib.urlencode() function that can operate on
    unicode strings. The parameters are first cast to UTF-8 encoded strings and
    then encoded as per normal.
    """
    if isinstance(query, MultiValueDict):
        query = query.lists()
    elif hasattr(query, 'items'):
        query = query.items()
    return original_urlencode(
        [(force_str(k),
          [force_str(i)
           for i in v] if isinstance(v, (list, tuple)) else force_str(v))
         for k, v in query], doseq)
Esempio n. 6
0
from __future__ import unicode_literals