示例#1
0
""" WAVES API services related serializers"""
from __future__ import unicode_literals

import collections

from rest_framework import serializers
from rest_framework.reverse import reverse

from waves.wcore.api.share import DynamicFieldsModelSerializer
from waves.wcore.api.v2.serializers.inputs import InputSerializer as DetailInputSerializer
from waves.wcore.models import get_service_model, get_submission_model
from waves.wcore.models.services import SubmissionOutput

Service = get_service_model()
Submission = get_submission_model()

__all__ = ['OutputSerializer', 'ServiceSerializer', 'ServiceSubmissionSerializer']


class OutputSerializer(DynamicFieldsModelSerializer):
    """ Serialize an service expected output """

    class Meta:
        model = SubmissionOutput
        fields = ('name', 'file_pattern')

    def to_representation(self, instance):
        """ Representation for a output """
        to_repr = {}
        outputs = instance.all()
        if outputs:
示例#2
0
 def running_services(self):
     from waves.wcore.models import get_service_model
     return get_service_model().objects.filter(runner=self)