Skip to content

ucd_json.ucd_json map page errors AttributeError: 'list' object has no attribute 'get' - UCD needs to expose thumbnails #1258

@christinklez

Description

@christinklez

5 collections with map page errors.

28059:

27548:

27275:

27307:

28457:

Example error message from 28059:

[2026-02-24, 17:21:17 UTC] {taskinstance.py:2905} ERROR - Task failed with exception
Traceback (most recent call last):
  File "/usr/local/airflow/.local/lib/python3.11/site-packages/airflow/models/taskinstance.py", line 465, in _execute_task
    result = _execute_callable(context=context, **execute_callable_kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/airflow/.local/lib/python3.11/site-packages/airflow/models/taskinstance.py", line 432, in _execute_callable
    return execute_callable(context=context, **execute_callable_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/airflow/.local/lib/python3.11/site-packages/airflow/models/baseoperator.py", line 401, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/airflow/.local/lib/python3.11/site-packages/airflow/decorators/base.py", line 265, in execute
    return_value = super().execute(context)
                   ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/airflow/.local/lib/python3.11/site-packages/airflow/models/baseoperator.py", line 401, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/airflow/.local/lib/python3.11/site-packages/airflow/operators/python.py", line 235, in execute
    return_value = self.execute_callable()
                   ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/airflow/.local/lib/python3.11/site-packages/airflow/operators/python.py", line 252, in execute_callable
    return self.python_callable(*self.op_args, **self.op_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/airflow/dags/rikolti/dags/shared_tasks/mapping_tasks.py", line 80, in map_page_task
    mapped_page_status = map_page(
                         ^^^^^^^^^
  File "/usr/local/airflow/dags/rikolti/metadata_mapper/lambda_function.py", line 125, in map_page
    source_metadata_records = source_vernacular.parse(api_resp)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/airflow/dags/rikolti/metadata_mapper/mappers/ucd_json/ucd_json_mapper.py", line 116, in parse
    return self.get_records(records)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/airflow/dags/rikolti/metadata_mapper/mappers/mapper.py", line 28, in get_records
    return [
           ^
  File "/usr/local/airflow/dags/rikolti/metadata_mapper/mappers/mapper.py", line 30, in <listcomp>
    for record in records if not self.skip(record)
                                 ^^^^^^^^^^^^^^^^^
  File "/usr/local/airflow/dags/rikolti/metadata_mapper/mappers/ucd_json/ucd_json_mapper.py", line 102, in skip
    thumbnail_url = record.get("associatedMedia", {}).get('@id')
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'list' object has no attribute 'get'

Metadata

Metadata

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