MCPcopy Create free account
hub / github.com/Mnexa-AI/e2a / files_parameters

Method files_parameters

sdks/python/src/e2a/v1/generated/api_client.py:548–581  ·  view source on GitHub ↗

Builds form parameters. :param files: File parameters. :return: Form parameters with files.

(
        self,
        files: Dict[str, Union[str, bytes, List[str], List[bytes], Tuple[str, bytes]]],
    )

Source from the content-addressed store, hash-verified

546 return "&".join(["=".join(map(str, item)) for item in new_params])
547
548 def files_parameters(
549 self,
550 files: Dict[str, Union[str, bytes, List[str], List[bytes], Tuple[str, bytes]]],
551 ):
552 """Builds form parameters.
553
554 :param files: File parameters.
555 :return: Form parameters with files.
556 """
557 params = []
558 for k, v in files.items():
559 if isinstance(v, str):
560 with open(v, 'rb') as f:
561 filename = os.path.basename(f.name)
562 filedata = f.read()
563 elif isinstance(v, bytes):
564 filename = k
565 filedata = v
566 elif isinstance(v, tuple):
567 filename, filedata = v
568 elif isinstance(v, list):
569 for file_param in v:
570 params.extend(self.files_parameters({k: file_param}))
571 continue
572 else:
573 raise ValueError("Unsupported file value")
574 mimetype = (
575 mimetypes.guess_type(filename)[0]
576 or 'application/octet-stream'
577 )
578 params.append(
579 tuple([k, tuple([filename, filedata, mimetype])])
580 )
581 return params
582
583 def select_header_accept(self, accepts: List[str]) -> Optional[str]:
584 """Returns `Accept` based on an array of accepts provided.

Callers 1

param_serializeMethod · 0.95

Calls 1

readMethod · 0.80

Tested by

no test coverage detected