Merge branch 'develop' into key_val_lists
authorIan Cordasco <graffatcolmingov@gmail.com>
Tue, 7 Aug 2012 16:11:15 +0000 (12:11 -0400)
committerIan Cordasco <graffatcolmingov@gmail.com>
Tue, 7 Aug 2012 16:11:15 +0000 (12:11 -0400)
Conflicts:
    requests/models.py

1  2 
requests/models.py
requests/sessions.py
tests/test_requests.py

index cdcdee8ca8b6d5d9745ce3fcde3218111eaf9113,5908928a9dbdaf4783738086d83b4d33120c53c7..6a932543c45e21958fe89db66f1be30fffd16de7
@@@ -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)
index 32d39fc5d8470840a1559c5249742d76da3d2672,73c7b17b8cc98919df631889ed31b47331ae6849..150559159d1ccd363faef8a05a609406fad608c7
@@@ -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()):
Simple merge