Simplifies a compression argument to a compression method string and a mapping containing additional arguments. Parameters ---------- compression : str or mapping If string, specifies the compression method. If mapping, value at key 'method' specifies compressio
(
compression: CompressionOptions,
)
| 537 | |
| 538 | |
| 539 | def get_compression_method( |
| 540 | compression: CompressionOptions, |
| 541 | ) -> tuple[str | None, CompressionDict]: |
| 542 | """ |
| 543 | Simplifies a compression argument to a compression method string and |
| 544 | a mapping containing additional arguments. |
| 545 | |
| 546 | Parameters |
| 547 | ---------- |
| 548 | compression : str or mapping |
| 549 | If string, specifies the compression method. If mapping, value at key |
| 550 | 'method' specifies compression method. |
| 551 | |
| 552 | Returns |
| 553 | ------- |
| 554 | tuple of ({compression method}, Optional[str] |
| 555 | {compression arguments}, Dict[str, Any]) |
| 556 | |
| 557 | Raises |
| 558 | ------ |
| 559 | ValueError on mapping missing 'method' key |
| 560 | """ |
| 561 | compression_method: str | None |
| 562 | if isinstance(compression, Mapping): |
| 563 | compression_args = dict(compression) |
| 564 | try: |
| 565 | compression_method = compression_args.pop("method") |
| 566 | except KeyError as err: |
| 567 | raise ValueError("If mapping, compression must have key 'method'") from err |
| 568 | else: |
| 569 | compression_args = {} |
| 570 | compression_method = compression |
| 571 | return compression_method, compression_args |
| 572 | |
| 573 | |
| 574 | def infer_compression( |
no test coverage detected