Skip to content

Commit

Permalink
Add serializer for the progress models.
Browse files Browse the repository at this point in the history
  • Loading branch information
ipanova committed Nov 15, 2016
1 parent 23db88b commit 16d05b1
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 1 deletion.
2 changes: 1 addition & 1 deletion app/pulp/app/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@
from .task import ReservedResource, Worker, Task, TaskTag, TaskLock # NOQA

# Moved here to avoid a circular import with Task
from .progress import ProgressBar, ProgressSpinner # NOQA
from .progress import ProgressBar, ProgressReport, ProgressSpinner # NOQA
1 change: 1 addition & 0 deletions app/pulp/app/serializers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
NotesKeyValueRelatedField, ScratchpadKeyValueRelatedField) # NOQA
from pulp.app.serializers.consumer import ConsumerSerializer # NOQA
from pulp.app.serializers.content import ContentSerializer, ArtifactSerializer # NOQA
from pulp.app.serializers.progress import ProgressReportSerializer # NOQA
from pulp.app.serializers.repository import (ImporterSerializer, PublisherSerializer, # NOQA
RepositoryGroupSerializer, RepositorySerializer) # NOQA
from pulp.app.serializers.task import TaskSerializer, WorkerSerializer # NOQA
Expand Down
44 changes: 44 additions & 0 deletions app/pulp/app/serializers/progress.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
from gettext import gettext as _

from rest_framework import serializers

from pulp.app import models
from pulp.app.serializers import ModelSerializer


class ProgressReportSerializer(ModelSerializer):

message = serializers.CharField(
help_text=_("The message shown to the user for the progress report."),
read_only=True
)

state = serializers.CharField(
help_text=_("The current state of the progress report. The possible values are:"
" 'waiting', 'skipped', 'running', 'completed', 'failed' and 'canceled'."
" The default is 'waiting'."),
read_only=True
)

total = serializers.IntegerField(
help_text=_("The total count of items to be handled by the ProgressBar."),
read_only=True
)

done = serializers.IntegerField(
help_text=_("The count of items already processed. Defaults to 0."),
read_only=True
)

task = serializers.HyperlinkedRelatedField(
help_text=_("The task associated with this progress report."),
read_only=True,
view_name='tasks-detail'
)

class Meta:
model = models.ProgressReport
# this serializer is meant to be nested inside Task serializer,
# so it will not have its own endpoint, that's why
# we need to explicitly define fields to exclude '_href' field.
fields = ('message', 'state', 'total', 'done', 'task')

0 comments on commit 16d05b1

Please sign in to comment.