@@ -27,14 +27,28 @@ def _get_components_json(
2727 return [row .to_dict () for row in lines ] if lines else []
2828
2929
30- def _form_files (data : dict , files : List [File ] = None ) -> FormData :
31- form = FormData ()
32- form .add_field ("payload_json" , dumps (data ))
33- for i in range (len (files )):
34- form .add_field (
35- f"file{ i if len (files ) > 1 else '' } " ,
36- files [i ].fp ,
37- filename = files [i ].filename ,
38- content_type = "application/octet-stream" ,
39- )
30+ def _form_files (
31+ data : dict , files : List [File ] = None , use_form : bool = True
32+ ) -> Union [FormData , List [dict ]]:
33+ if use_form :
34+ form = FormData ()
35+ form .add_field ("payload_json" , dumps (data ))
36+ for i in range (len (files )):
37+ form .add_field (
38+ f"file{ i if len (files ) > 1 else '' } " ,
39+ files [i ].fp ,
40+ filename = files [i ].filename ,
41+ content_type = "application/octet-stream" ,
42+ )
43+ else :
44+ form = [{"name" : "payload_json" , "value" : dumps (data )}]
45+ for i in range (len (files )):
46+ form .append (
47+ {
48+ "name" : f"file{ i if len (files ) > 1 else '' } " ,
49+ "value" : files [i ].fp ,
50+ "filename" : files [i ].filename ,
51+ "content_type" : "application/octet-stream" ,
52+ }
53+ )
4054 return form
0 commit comments