Loading AUTHORS +1 −0 Original line number Diff line number Diff line Loading @@ -373,6 +373,7 @@ answer newbie questions, and generally made Django that much better: michael.mcewan@gmail.com Paul McLanahan <paul@mclanahan.net> Tobias McNulty <http://www.caktusgroup.com/blog> Andrews Medina <andrewsmedina@gmail.com> Zain Memon Christian Metts michal@plovarna.cz Loading django/test/client.py +22 −20 Original line number Diff line number Diff line from __future__ import unicode_literals import sys import os import re Loading Loading @@ -108,7 +110,7 @@ def encode_multipart(boundary, data): as an application/octet-stream; otherwise, str(value) will be sent. """ lines = [] to_str = lambda s: smart_bytes(s, settings.DEFAULT_CHARSET) to_bytes = lambda s: smart_bytes(s, settings.DEFAULT_CHARSET) # Not by any means perfect, but good enough for our purposes. is_file = lambda thing: hasattr(thing, "read") and callable(thing.read) Loading @@ -124,37 +126,37 @@ def encode_multipart(boundary, data): if is_file(item): lines.extend(encode_file(boundary, key, item)) else: lines.extend([ '--' + boundary, 'Content-Disposition: form-data; name="%s"' % to_str(key), lines.extend([to_bytes(val) for val in [ '--%s' % boundary, 'Content-Disposition: form-data; name="%s"' % key, '', to_str(item) ]) item ]]) else: lines.extend([ '--' + boundary, 'Content-Disposition: form-data; name="%s"' % to_str(key), lines.extend([to_bytes(val) for val in [ '--%s' % boundary, 'Content-Disposition: form-data; name="%s"' % key, '', to_str(value) ]) value ]]) lines.extend([ '--' + boundary + '--', '', to_bytes('--%s--' % boundary), b'', ]) return '\r\n'.join(lines) return b'\r\n'.join(lines) def encode_file(boundary, key, file): to_str = lambda s: smart_bytes(s, settings.DEFAULT_CHARSET) to_bytes = lambda s: smart_bytes(s, settings.DEFAULT_CHARSET) content_type = mimetypes.guess_type(file.name)[0] if content_type is None: content_type = 'application/octet-stream' return [ '--' + to_str(boundary), 'Content-Disposition: form-data; name="%s"; filename="%s"' \ % (to_str(key), to_str(os.path.basename(file.name))), 'Content-Type: %s' % content_type, '', to_bytes('--%s' % boundary), to_bytes('Content-Disposition: form-data; name="%s"; filename="%s"' \ % (key, os.path.basename(file.name))), to_bytes('Content-Type: %s' % content_type), b'', file.read() ] Loading Loading
AUTHORS +1 −0 Original line number Diff line number Diff line Loading @@ -373,6 +373,7 @@ answer newbie questions, and generally made Django that much better: michael.mcewan@gmail.com Paul McLanahan <paul@mclanahan.net> Tobias McNulty <http://www.caktusgroup.com/blog> Andrews Medina <andrewsmedina@gmail.com> Zain Memon Christian Metts michal@plovarna.cz Loading
django/test/client.py +22 −20 Original line number Diff line number Diff line from __future__ import unicode_literals import sys import os import re Loading Loading @@ -108,7 +110,7 @@ def encode_multipart(boundary, data): as an application/octet-stream; otherwise, str(value) will be sent. """ lines = [] to_str = lambda s: smart_bytes(s, settings.DEFAULT_CHARSET) to_bytes = lambda s: smart_bytes(s, settings.DEFAULT_CHARSET) # Not by any means perfect, but good enough for our purposes. is_file = lambda thing: hasattr(thing, "read") and callable(thing.read) Loading @@ -124,37 +126,37 @@ def encode_multipart(boundary, data): if is_file(item): lines.extend(encode_file(boundary, key, item)) else: lines.extend([ '--' + boundary, 'Content-Disposition: form-data; name="%s"' % to_str(key), lines.extend([to_bytes(val) for val in [ '--%s' % boundary, 'Content-Disposition: form-data; name="%s"' % key, '', to_str(item) ]) item ]]) else: lines.extend([ '--' + boundary, 'Content-Disposition: form-data; name="%s"' % to_str(key), lines.extend([to_bytes(val) for val in [ '--%s' % boundary, 'Content-Disposition: form-data; name="%s"' % key, '', to_str(value) ]) value ]]) lines.extend([ '--' + boundary + '--', '', to_bytes('--%s--' % boundary), b'', ]) return '\r\n'.join(lines) return b'\r\n'.join(lines) def encode_file(boundary, key, file): to_str = lambda s: smart_bytes(s, settings.DEFAULT_CHARSET) to_bytes = lambda s: smart_bytes(s, settings.DEFAULT_CHARSET) content_type = mimetypes.guess_type(file.name)[0] if content_type is None: content_type = 'application/octet-stream' return [ '--' + to_str(boundary), 'Content-Disposition: form-data; name="%s"; filename="%s"' \ % (to_str(key), to_str(os.path.basename(file.name))), 'Content-Type: %s' % content_type, '', to_bytes('--%s' % boundary), to_bytes('Content-Disposition: form-data; name="%s"; filename="%s"' \ % (key, os.path.basename(file.name))), to_bytes('Content-Type: %s' % content_type), b'', file.read() ] Loading