Loading src/rpc/methods.py +11 −0 Original line number Diff line number Diff line Loading @@ -193,6 +193,13 @@ def _rpc_groups(groups: List[str]): return decorator def _prevent_exiftool_metadata_modification( metaval: Union[MetadataCollectionValue, MetadataResourceValue], ): if metaval.metadata.set.title.lower() in ["exiftool"]: raise ServiceException("can't modify exif") # Define RPC functions here. # ALL RPC functions receive a User instance as first argument Loading Loading @@ -1451,6 +1458,7 @@ def remove_meta_value_from_resource( UserAccess(user, resource_instance.ptr_project).check_update(resource_instance) for meta_value in resource_instance.metadataresourcevalue_set.all(): if meta_value.id == meta_value_id: _prevent_exiftool_metadata_modification(meta_value) meta_value.delete() return True return False Loading Loading @@ -1610,6 +1618,7 @@ def remove_meta_value_from_collection( UserAccess(user, collection_instance.project).check_update(collection_instance) for meta_value in collection_instance.metadatacollectionvalue_set.all(): if meta_value.id == meta_value_id: _prevent_exiftool_metadata_modification(meta_value) meta_value.delete() if recursive: for descendant_collection_instance in collection_instance.descendants(): Loading Loading @@ -1684,6 +1693,7 @@ def change_collection_meta_value( UserAccess(user, meta_value_instance.metadata.project).check_update( meta_value_instance.collection ) _prevent_exiftool_metadata_modification(meta_value_instance) meta_value_instance.value = meta_value meta_value_instance.save() return True Loading @@ -1701,6 +1711,7 @@ def change_resource_meta_value(user: User, meta_value_id: int, meta_value: str) UserAccess(user, meta_value_instance.metadata.project).check_update( meta_value_instance.resource ) _prevent_exiftool_metadata_modification(meta_value_instance) meta_value_instance.value = meta_value meta_value_instance.save() return True Loading Loading
src/rpc/methods.py +11 −0 Original line number Diff line number Diff line Loading @@ -193,6 +193,13 @@ def _rpc_groups(groups: List[str]): return decorator def _prevent_exiftool_metadata_modification( metaval: Union[MetadataCollectionValue, MetadataResourceValue], ): if metaval.metadata.set.title.lower() in ["exiftool"]: raise ServiceException("can't modify exif") # Define RPC functions here. # ALL RPC functions receive a User instance as first argument Loading Loading @@ -1451,6 +1458,7 @@ def remove_meta_value_from_resource( UserAccess(user, resource_instance.ptr_project).check_update(resource_instance) for meta_value in resource_instance.metadataresourcevalue_set.all(): if meta_value.id == meta_value_id: _prevent_exiftool_metadata_modification(meta_value) meta_value.delete() return True return False Loading Loading @@ -1610,6 +1618,7 @@ def remove_meta_value_from_collection( UserAccess(user, collection_instance.project).check_update(collection_instance) for meta_value in collection_instance.metadatacollectionvalue_set.all(): if meta_value.id == meta_value_id: _prevent_exiftool_metadata_modification(meta_value) meta_value.delete() if recursive: for descendant_collection_instance in collection_instance.descendants(): Loading Loading @@ -1684,6 +1693,7 @@ def change_collection_meta_value( UserAccess(user, meta_value_instance.metadata.project).check_update( meta_value_instance.collection ) _prevent_exiftool_metadata_modification(meta_value_instance) meta_value_instance.value = meta_value meta_value_instance.save() return True Loading @@ -1701,6 +1711,7 @@ def change_resource_meta_value(user: User, meta_value_id: int, meta_value: str) UserAccess(user, meta_value_instance.metadata.project).check_update( meta_value_instance.resource ) _prevent_exiftool_metadata_modification(meta_value_instance) meta_value_instance.value = meta_value meta_value_instance.save() return True Loading