Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGES/972.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Updated tasks to always return JSON-serializable value.
7 changes: 7 additions & 0 deletions pulp_python/app/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -457,6 +457,13 @@ def to_internal_value(self, data):
"""Converts set to list."""
return list(super().to_internal_value(data))

def to_representation(self, value):
"""Converts set to list for JSON serialization."""
result = super().to_representation(value)
if isinstance(result, set):
result = list(result)
return result


class PythonRemoteSerializer(core_serializers.RemoteSerializer):
"""
Expand Down
2 changes: 2 additions & 0 deletions pulp_python/app/tasks/publish.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
from pulpcore.plugin.util import get_domain

from pulp_python.app import models as python_models
from pulp_python.app.serializers import PythonPublicationSerializer
from pulp_python.app.utils import write_simple_index, write_simple_detail


Expand Down Expand Up @@ -36,6 +37,7 @@ def publish(repository_version_pk):
write_simple_api(pub)

log.info(_("Publication: {pk} created").format(pk=pub.pk))
pub = PythonPublicationSerializer(instance=pub, context={"request": None}).data
return pub


Expand Down