Exemple #1
0
 def prepare_files(files):
     body = {}
     if isinstance(files, dict):
         files = files.items()
     for key, els in files:
         if not els:
             continue
         if not isinstance(els, (list, tuple)):
             # Allow passing a file instance.
             els = [els]
         file_ = els[0]
         if isinstance(file_, str):
             file_ = file_.encode()
         if isinstance(file_, bytes):
             file_ = BytesIO(file_)
         if len(els) > 1:
             file_.name = els[1]
         if len(els) > 2:
             file_.charset = els[2]
         body[key] = file_
     return 'multipart/form-data', body
 def handle_files(self, kwargs):
     files = kwargs.pop("files", None)
     if files:
         kwargs.setdefault("body", {})
         kwargs["headers"]["Content-Type"] = "multipart/form-data"
         if isinstance(files, dict):
             files = files.items()
         for key, els in files:
             if not els:
                 continue
             if not isinstance(els, (list, tuple)):
                 # Allow passing a file instance.
                 els = [els]
             file_ = els[0]
             if isinstance(file_, str):
                 file_ = file_.encode()
             if isinstance(file_, bytes):
                 file_ = BytesIO(file_)
             if len(els) > 1:
                 file_.name = els[1]
             if len(els) > 2:
                 file_.charset = els[2]
             kwargs["body"][key] = file_
Exemple #3
0
 def handle_files(self, kwargs):
     kwargs.setdefault('headers', {})
     files = kwargs.pop('files', None)
     if files:
         kwargs['headers']['Content-Type'] = 'multipart/form-data'
         if isinstance(files, dict):
             files = files.items()
         for key, els in files:
             if not els:
                 continue
             if not isinstance(els, (list, tuple)):
                 # Allow passing a file instance.
                 els = [els]
             file_ = els[0]
             if isinstance(file_, str):
                 file_ = file_.encode()
             if isinstance(file_, bytes):
                 file_ = BytesIO(file_)
             if len(els) > 1:
                 file_.name = els[1]
             if len(els) > 2:
                 file_.charset = els[2]
             kwargs['body'][key] = file_