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_
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_