def try_delete_property(self, key): """ Deletes a single metadata property. Args: key(string): Name of the metadata property Returns: pyshelf.metadata.result.Result """ result = Result() if self.metadata.is_immutable(key): result.add_error(ErrorCode.IMMUTABLE) else: del self.metadata[key] self.write() return result
def try_create_property(self, key, value): """ Creates a single metadata property. Will error if the property already exists. Args: key(string) value(schemas/metadata-property.json) Returns: pyshelf.metadata.result.Result """ result = Result() if self.metadata.get(key): result.add_error(ErrorCode.DUPLICATE) else: result = self._try_update_property_with_result(key, value, result) return result