From: Ian Cordasco Date: Tue, 7 Aug 2012 16:11:15 +0000 (-0400) Subject: Merge branch 'develop' into key_val_lists X-Git-Tag: v0.13.7~3^2~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ceec572cb97515c2078f26d5a909f8b99f525183;p=services%2Fpython-requests.git Merge branch 'develop' into key_val_lists Conflicts: requests/models.py --- ceec572cb97515c2078f26d5a909f8b99f525183 diff --cc requests/models.py index cdcdee8,5908928..6a93254 --- a/requests/models.py +++ b/requests/models.py @@@ -29,10 -29,10 +29,10 @@@ from .exceptions import from .utils import ( get_encoding_from_headers, stream_untransfer, guess_filename, requote_uri, stream_decode_response_unicode, get_netrc_auth, get_environ_proxies, - DEFAULT_CA_BUNDLE_PATH) + to_key_val_list, DEFAULT_CA_BUNDLE_PATH) from .compat import ( cookielib, urlparse, urlunparse, urljoin, urlsplit, urlencode, str, bytes, - StringIO, is_py2, chardet, json, builtin_str) + StringIO, is_py2, chardet, json, builtin_str, numeric_types) REDIRECT_STATI = (codes.moved, codes.found, codes.other, codes.temporary_moved) CONTENT_CHUNK_SIZE = 10 * 1024 @@@ -344,19 -353,15 +344,18 @@@ class Request(object) fp = v if isinstance(fp, (bytes, str)): fp = StringIO(fp) - fields.update({k: (fn, fp.read())}) - - for field in fields: - if isinstance(fields[field], numeric_types): - fields[field] = str(fields[field]) - if isinstance(fields[field], list): - newvalue = ', '.join(fields[field]) - fields[field] = newvalue - + fields.append((k, (fn, fp.read()))) + + new_fields = [] + for field, val in fields: + if isinstance(val, float): + new_fields.append((field, str(val))) + elif isinstance(val, list): + newvalue = ', '.join(val) + new_fields.append((field, newvalue)) + else: + new_fields.append((field, val)) + fields = new_fields - (body, content_type) = encode_multipart_formdata(fields) return (body, content_type) diff --cc requests/sessions.py index 32d39fc,73c7b17..1505591 --- a/requests/sessions.py +++ b/requests/sessions.py @@@ -150,12 -156,12 +158,12 @@@ class Session(object) method = str(method).upper() # Default empty dicts for dict params. - data = {} if data is None else data - files = {} if files is None else files - headers = {} if headers is None else headers - params = {} if params is None else params + data = [] if data is None else data + files = [] if files is None else files + headers = [] if headers is None else headers + params = [] if params is None else params hooks = {} if hooks is None else hooks - prefetch = self.prefetch or prefetch + prefetch = prefetch if prefetch is not None else self.prefetch # use session's hooks as defaults for key, cb in list(self.hooks.items()):