in client/python/polaris/catalog/models/base_update.py [0:0]
def from_dict(cls, obj: Dict[str, Any]) -> Optional[Union[AddSchemaUpdate, AddSnapshotUpdate, AddSortOrderUpdate, AddPartitionSpecUpdate, AddViewVersionUpdate, AssignUUIDUpdate, RemovePartitionStatisticsUpdate, RemovePropertiesUpdate, RemoveSnapshotRefUpdate, RemoveSnapshotsUpdate, RemoveStatisticsUpdate, SetCurrentSchemaUpdate, SetCurrentViewVersionUpdate, SetDefaultSortOrderUpdate, SetDefaultSpecUpdate, SetLocationUpdate, SetPartitionStatisticsUpdate, SetPropertiesUpdate, SetSnapshotRefUpdate, SetStatisticsUpdate, UpgradeFormatVersionUpdate]]:
"""Create an instance of BaseUpdate from a dict"""
# look up the object type based on discriminator mapping
object_type = cls.get_discriminator_value(obj)
if object_type == 'AddSchemaUpdate':
return import_module("polaris.catalog.models.add_schema_update").AddSchemaUpdate.from_dict(obj)
if object_type == 'AddSnapshotUpdate':
return import_module("polaris.catalog.models.add_snapshot_update").AddSnapshotUpdate.from_dict(obj)
if object_type == 'AddSortOrderUpdate':
return import_module("polaris.catalog.models.add_sort_order_update").AddSortOrderUpdate.from_dict(obj)
if object_type == 'AddPartitionSpecUpdate':
return import_module("polaris.catalog.models.add_partition_spec_update").AddPartitionSpecUpdate.from_dict(obj)
if object_type == 'AddViewVersionUpdate':
return import_module("polaris.catalog.models.add_view_version_update").AddViewVersionUpdate.from_dict(obj)
if object_type == 'AssignUUIDUpdate':
return import_module("polaris.catalog.models.assign_uuid_update").AssignUUIDUpdate.from_dict(obj)
if object_type == 'RemovePartitionStatisticsUpdate':
return import_module("polaris.catalog.models.remove_partition_statistics_update").RemovePartitionStatisticsUpdate.from_dict(obj)
if object_type == 'RemovePropertiesUpdate':
return import_module("polaris.catalog.models.remove_properties_update").RemovePropertiesUpdate.from_dict(obj)
if object_type == 'RemoveSnapshotRefUpdate':
return import_module("polaris.catalog.models.remove_snapshot_ref_update").RemoveSnapshotRefUpdate.from_dict(obj)
if object_type == 'RemoveSnapshotsUpdate':
return import_module("polaris.catalog.models.remove_snapshots_update").RemoveSnapshotsUpdate.from_dict(obj)
if object_type == 'RemoveStatisticsUpdate':
return import_module("polaris.catalog.models.remove_statistics_update").RemoveStatisticsUpdate.from_dict(obj)
if object_type == 'SetCurrentSchemaUpdate':
return import_module("polaris.catalog.models.set_current_schema_update").SetCurrentSchemaUpdate.from_dict(obj)
if object_type == 'SetCurrentViewVersionUpdate':
return import_module("polaris.catalog.models.set_current_view_version_update").SetCurrentViewVersionUpdate.from_dict(obj)
if object_type == 'SetDefaultSortOrderUpdate':
return import_module("polaris.catalog.models.set_default_sort_order_update").SetDefaultSortOrderUpdate.from_dict(obj)
if object_type == 'SetDefaultSpecUpdate':
return import_module("polaris.catalog.models.set_default_spec_update").SetDefaultSpecUpdate.from_dict(obj)
if object_type == 'SetLocationUpdate':
return import_module("polaris.catalog.models.set_location_update").SetLocationUpdate.from_dict(obj)
if object_type == 'SetPartitionStatisticsUpdate':
return import_module("polaris.catalog.models.set_partition_statistics_update").SetPartitionStatisticsUpdate.from_dict(obj)
if object_type == 'SetPropertiesUpdate':
return import_module("polaris.catalog.models.set_properties_update").SetPropertiesUpdate.from_dict(obj)
if object_type == 'SetSnapshotRefUpdate':
return import_module("polaris.catalog.models.set_snapshot_ref_update").SetSnapshotRefUpdate.from_dict(obj)
if object_type == 'SetStatisticsUpdate':
return import_module("polaris.catalog.models.set_statistics_update").SetStatisticsUpdate.from_dict(obj)
if object_type == 'UpgradeFormatVersionUpdate':
return import_module("polaris.catalog.models.upgrade_format_version_update").UpgradeFormatVersionUpdate.from_dict(obj)
raise ValueError("BaseUpdate failed to lookup discriminator value from " +
json.dumps(obj) + ". Discriminator property name: " + cls.__discriminator_property_name +
", mapping: " + json.dumps(cls.__discriminator_value_class_map))