def parse()

in dbt/adapters/maxcompute/relation_configs/_partition.py [0:0]


    def parse(cls, raw_partition_by) -> Optional["PartitionConfig"]:
        if raw_partition_by is None:
            return None
        try:
            new_dict = {}
            for key, value in raw_partition_by.items():
                if key in ["fields", "data_types"]:
                    new_dict[key] = [item.strip() for item in value.split(",")]
                else:
                    new_dict[key] = value
            res = cls.from_dict(new_dict)
            res.post_validate()
            return res
        except TypeError:
            raise dbt_common.exceptions.CompilationError(
                f"Invalid partition_by config:\n"
                f"  Got: {raw_partition_by}\n"
                f'  Expected a dictionary with "fields" and "data_types" keys'
            )