Adapt template to latest changes in harvest job error dictization #533
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In #529 we changed the dictization of harvest errors. While this solves the problem #528 it causes a problem with displaying the error messages in the job overview.
Therefore we would fix this by using a tuple to restore the old behavior.
Details
Since the update to
sqlalchemy 1.4.x
the harvest error objects returned by the database in https://github.com/ckan/ckanext-harvest/blob/master/ckanext/harvest/logic/dictization.py#L79 are no longer serializable which causes commands likeharvester reindex
orharvester clearsource_history
to fail if there are any harvest jobs with errors. In #529 these harvest error objects are transformed into a dict to fix this problem.By doing so this data can no longer be accessed by index but this is expected by the HTML template (https://github.com/ckan/ckanext-harvest/blob/master/ckanext/harvest/templates/snippets/job_error_summary.html) and potentially by further CKAN extensions.
So our proposed solution would be to use a tuple for the data to regain the old behavior and still fix the serialization problems.