[Fixes #14095] Upload thumbnails through the UI for the remote spatial datasets#14096
[Fixes #14095] Upload thumbnails through the UI for the remote spatial datasets#14096
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the set_thumbnail method in geonode/resource/manager.py to allow thumbnail assignment when a thumbnail is explicitly provided, regardless of the resource's default capabilities. The review feedback suggests refining the conditional logic to better handle falsy thumbnail values and avoid unintended automatic generation for resources that do not support it.
| ) -> bool: | ||
| _resource = instance or BaseResourceManager._get_instance(uuid) | ||
| if _resource and _resource.can_have_thumbnail: | ||
| if _resource and (thumbnail or _resource.can_have_thumbnail): |
There was a problem hiding this comment.
@sijandh35 although the fix works fine, we could further improve the code in terms of sustainability and readability.
At first I would rename the property from can_have_thumbnail to the can_set_thumbnail and I would move the logic there as below:
def can_set_thumbnail(self, thumbnail_data=None):
"""
a simple description
"""
if thumbnail_data:
return True
# a comment for clarification
return self.subtype not in {"3dtiles", "cog", "flatgeobuf"}and then in the manager we could simply have:
if _resource and _resource.can_set_thumbnail(thumbnail):As I saw the property can_have_thumbnail is used only in this part.
Fixes #14095
Checklist
For all pull requests:
The following are required only for core and extension modules (they are welcomed, but not required, for contrib modules):
Submitting the PR does not require you to check all items, but by the time it gets merged, they should be either satisfied or inapplicable.