From: Jason Emerick Date: Tue, 2 Apr 2013 18:22:49 +0000 (-0400) Subject: model the encode_files data handling after encode_params X-Git-Tag: v1.2.1~8^2~1^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e7247ce3f6d8115a6bc191e5ef816e04da82aa25;p=services%2Fpython-requests.git model the encode_files data handling after encode_params --- diff --git a/requests/models.py b/requests/models.py index 8249ce3..0860567 100644 --- a/requests/models.py +++ b/requests/models.py @@ -99,11 +99,13 @@ class RequestEncodingMixin(object): files = to_key_val_list(files or {}) for field, val in fields: - if isinstance(val, list): - for v in val: - new_fields.append((field, str(v))) - else: - new_fields.append((field, str(val))) + if isinstance(val, basestring) or not hasattr(val, '__iter__'): + val = [val] + for v in val: + if v is not None: + new_fields.append( + (field.encode('utf-8') if isinstance(field, str) else field, + v.encode('utf-8') if isinstance(v, str) else v)) for (k, v) in files: # support for explicit filename