(part, schema, flavor)
| 814 | |
| 815 | |
| 816 | def _ensure_write_partitioning(part, schema, flavor): |
| 817 | if isinstance(part, PartitioningFactory): |
| 818 | raise ValueError("A PartitioningFactory cannot be used. " |
| 819 | "Did you call the partitioning function " |
| 820 | "without supplying a schema?") |
| 821 | |
| 822 | if isinstance(part, Partitioning) and flavor: |
| 823 | raise ValueError( |
| 824 | "Providing a partitioning_flavor with " |
| 825 | "a Partitioning object is not supported" |
| 826 | ) |
| 827 | elif isinstance(part, (tuple, list)): |
| 828 | # Name of fields were provided instead of a partitioning object. |
| 829 | # Create a partitioning factory with those field names. |
| 830 | part = partitioning( |
| 831 | schema=pa.schema([schema.field(f) for f in part]), |
| 832 | flavor=flavor |
| 833 | ) |
| 834 | elif part is None: |
| 835 | part = partitioning(pa.schema([]), flavor=flavor) |
| 836 | |
| 837 | if not isinstance(part, Partitioning): |
| 838 | raise ValueError( |
| 839 | "partitioning must be a Partitioning object or " |
| 840 | "a list of column names" |
| 841 | ) |
| 842 | |
| 843 | return part |
| 844 | |
| 845 | |
| 846 | def write_dataset(data, base_dir, *, basename_template=None, format=None, |
no test coverage detected