1
0
Fork 0

Add API endpoint for observation jobs.

merge-requests/94/head
John Giannelos 2015-02-14 21:58:11 +02:00
parent d1caac11dc
commit 900953b26b
3 changed files with 32 additions and 0 deletions

View File

@ -49,3 +49,27 @@ class DataSerializer(serializers.ModelSerializer):
class Meta:
model = Data
fields = ('id', 'start', 'end', 'observation', 'ground_station', 'payload')
class JobSerializer(serializers.ModelSerializer):
frequency = serializers.SerializerMethodField()
tle0 = serializers.SerializerMethodField()
tle1 = serializers.SerializerMethodField()
tle2 = serializers.SerializerMethodField()
class Meta:
model = Data
fields = ('id', 'start', 'end', 'ground_station', 'tle0', 'tle1', 'tle2',
'frequency')
def get_frequency(self, obj):
return obj.observation.transponder.downlink_low
def get_tle0(self, obj):
return obj.observation.satellite.tle0
def get_tle1(self, obj):
return obj.observation.satellite.tle1
def get_tle2(self, obj):
return obj.observation.satellite.tle2

View File

@ -12,6 +12,7 @@ router.register(r'observations', views.ObservationView)
router.register(r'satellites', views.SatelliteView)
router.register(r'stations', views.StationView)
router.register(r'transponders', views.TransponderView)
router.register(r'jobs', views.JobView)
urlpatterns = patterns(
'',

View File

@ -51,3 +51,10 @@ class DataView(viewsets.ReadOnlyModelViewSet, mixins.UpdateModelMixin):
if payload == '':
return self.queryset.filter(payload='')
return super(DataView, self).get_queryset()
class JobView(viewsets.ReadOnlyModelViewSet):
queryset = Data.objects.filter(payload='')
serializer_class = serializers.JobSerializer
filter_class = DataFilter
filter_fields = ('ground_station')