Skip to content

api_thumbnails ValueError for e.g. ?project=123x #44

@will-moore

Description

@will-moore

Going to e.g. /gallery-api/thumbnails/?project=123x
will give an error below.

Probably just needs a fix to check ids are valid numbers:

+++ b/idr_gallery/views.py
@@ -253,6 +253,11 @@ def api_thumbnails(request, conn=None, **kwargs):
     image_ids = {}
     for obj_type, ids in zip(['project', 'screen'], [project_ids, screen_ids]):
         for obj_id in ids:
+            try:
+                int(obj_id)
+            except ValueError:
+                logger.debug("api_thumbnails Invalid object ID %s" % obj_id)
+                continue
             images = _get_study_images(conn, obj_type, obj_id,
                                        tag_text="Study Example Image")

See https://www.openmicroscopy.org/qa2/qa/feedback/41897/

Traceback (most recent call last):

File "/opt/omero/web/venv3/lib64/python3.9/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)

File "/opt/omero/web/venv3/lib64/python3.9/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/opt/omero/web/venv3/lib64/python3.9/site-packages/omeroweb/decorators.py", line 597, in wrapper
context = f(request, *args, **kwargs)

File "/opt/omero/web/venv3/lib64/python3.9/site-packages/omeroweb/decorators.py", line 538, in wrapped
retval = f(request, *args, **kwargs)

File "/opt/omero/web/venv3/lib64/python3.9/site-packages/idr_gallery/views.py", line 256, in api_thumbnails
images = _get_study_images(conn, obj_type, obj_id,

File "/opt/omero/web/venv3/lib64/python3.9/site-packages/idr_gallery/views.py", line 207, in _get_study_images
params.addId(obj_id)

File "/opt/omero/web/venv3/lib64/python3.9/site-packages/omero_sys_ParametersI.py", line 335, in addId
self.addLong("id", rlong(id))

File "/opt/omero/web/venv3/lib64/python3.9/site-packages/omero/rtypes.py", line 216, in rlong
return RLongI(val)

File "/opt/omero/web/venv3/lib64/python3.9/site-packages/omero/rtypes.py", line 553, in __init__
omero.RLong.__init__(self, int(value))

ValueError: invalid literal for int() with base 10: '1801"'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions