commit
0a077979bf
|
@ -0,0 +1,51 @@
|
|||
from django.conf import settings
|
||||
from django.contrib.sites.models import Site
|
||||
from rest_framework import serializers
|
||||
|
||||
from base.models import (Antenna, Data, Observation, Satellite, Station,
|
||||
Transponder)
|
||||
|
||||
|
||||
class AntennaSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Antenna
|
||||
fields = ('frequency', 'band', 'antenna_type')
|
||||
|
||||
|
||||
class StationSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Station
|
||||
fields = ('owner', 'name', 'image', 'alt', 'lat', 'lng',
|
||||
'antenna', 'featured', 'featured_date')
|
||||
|
||||
image = serializers.SerializerMethodField('image_url')
|
||||
|
||||
def image_url(self, obj):
|
||||
site = Site.objects.get_current()
|
||||
return '{}{}{}'.format(site, settings.MEDIA_URL, obj.image)
|
||||
|
||||
|
||||
class SatelliteSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Satellite
|
||||
fields = ('norad_cat_id', 'name')
|
||||
|
||||
|
||||
class TransponderSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Transponder
|
||||
fields = ('description', 'alive', 'uplink_low', 'uplink_high',
|
||||
'downlink_low', 'downlink_high', 'mode', 'invert',
|
||||
'baud', 'satellite')
|
||||
|
||||
|
||||
class ObservationSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Observation
|
||||
fields = ('satellite', 'transponder', 'author', 'start', 'end')
|
||||
|
||||
|
||||
class DataSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Data
|
||||
fields = ('start', 'end', 'observation', 'ground_station', 'payload')
|
|
@ -0,0 +1,19 @@
|
|||
from django.conf.urls import patterns, url, include
|
||||
from rest_framework import routers
|
||||
|
||||
from base.api import views
|
||||
|
||||
|
||||
router = routers.DefaultRouter()
|
||||
|
||||
router.register(r'antennas', views.AntennaView)
|
||||
router.register(r'data', views.DataView)
|
||||
router.register(r'observations', views.ObservationView)
|
||||
router.register(r'satellites', views.SatelliteView)
|
||||
router.register(r'stations', views.StationView)
|
||||
router.register(r'transponders', views.TransponderView)
|
||||
|
||||
urlpatterns = patterns(
|
||||
'',
|
||||
url(r'^', include(router.urls))
|
||||
)
|
|
@ -0,0 +1,35 @@
|
|||
from rest_framework import viewsets
|
||||
|
||||
from base.api import serializers
|
||||
from base.models import (Antenna, Data, Observation, Satellite, Station,
|
||||
Transponder)
|
||||
|
||||
|
||||
class AntennaView(viewsets.ModelViewSet):
|
||||
queryset = Antenna.objects.all()
|
||||
serializer_class = serializers.AntennaSerializer
|
||||
|
||||
|
||||
class StationView(viewsets.ModelViewSet):
|
||||
queryset = Station.objects.all()
|
||||
serializer_class = serializers.StationSerializer
|
||||
|
||||
|
||||
class SatelliteView(viewsets.ModelViewSet):
|
||||
queryset = Satellite.objects.all()
|
||||
serializer_class = serializers.SatelliteSerializer
|
||||
|
||||
|
||||
class TransponderView(viewsets.ModelViewSet):
|
||||
queryset = Transponder.objects.all()
|
||||
serializer_class = serializers.TransponderSerializer
|
||||
|
||||
|
||||
class ObservationView(viewsets.ModelViewSet):
|
||||
queryset = Observation.objects.all()
|
||||
serializer_class = serializers.ObservationSerializer
|
||||
|
||||
|
||||
class DataView(viewsets.ModelViewSet):
|
||||
queryset = Data.objects.all()
|
||||
serializer_class = serializers.DataSerializer
|
|
@ -39,6 +39,7 @@ class Common(Configuration):
|
|||
THIRD_PARTY_APPS = (
|
||||
'crispy_forms', # Form layouts
|
||||
'avatar', # for user avatars
|
||||
'rest_framework'
|
||||
)
|
||||
|
||||
# Apps specific for this project go here.
|
||||
|
@ -264,4 +265,10 @@ class Common(Configuration):
|
|||
}
|
||||
# END LOGGING CONFIGURATION
|
||||
|
||||
# Your common stuff: Below this line define 3rd party libary settings
|
||||
REST_FRAMEWORK = {
|
||||
# Use Django's standard `django.contrib.auth` permissions,
|
||||
# or allow read-only access for unauthenticated users.
|
||||
'DEFAULT_PERMISSION_CLASSES': [
|
||||
'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.conf import settings
|
||||
|
@ -7,8 +6,10 @@ from django.conf.urls.static import static
|
|||
from django.views.generic import TemplateView
|
||||
|
||||
from django.contrib import admin
|
||||
|
||||
admin.autodiscover()
|
||||
|
||||
|
||||
urlpatterns = patterns(
|
||||
'',
|
||||
url(r'^$', 'base.views.index', name='home'),
|
||||
|
@ -17,20 +18,20 @@ urlpatterns = patterns(
|
|||
# Observations
|
||||
url(r'^o/(?P<id>[0-9]+)/$',
|
||||
'base.views.view_observation', name='observations_view_observation'),
|
||||
url(r'^observations/$', 'base.views.observations_list', name='observations'),
|
||||
|
||||
url(r'^observations/$', 'base.views.observations_list',
|
||||
name='observations'),
|
||||
url(r'^about/$',
|
||||
TemplateView.as_view(template_name='base/about.html'),
|
||||
name='about'),
|
||||
url(r'^stations/$',
|
||||
TemplateView.as_view(template_name='base/stations.html'),
|
||||
name='stations'),
|
||||
|
||||
url(r'^admin/', include(admin.site.urls)),
|
||||
|
||||
url(r'^users/', include('users.urls', namespace='users')),
|
||||
url(r'^accounts/', include('allauth.urls')),
|
||||
|
||||
url(r'^avatar/', include('avatar.urls')),
|
||||
|
||||
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
url(r'^api/', include('base.api.urls'))
|
||||
)
|
||||
|
||||
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
|
|
|
@ -27,4 +27,9 @@ django-autoslug==1.7.2
|
|||
-e git+https://github.com/comzeradd/django-avatar.git@gravatar_https#egg=avatar
|
||||
|
||||
# Astronomy
|
||||
orbit==0.2
|
||||
orbit==0.2
|
||||
|
||||
# Django REST framework
|
||||
djangorestframework
|
||||
markdown
|
||||
django-filter
|
Loading…
Reference in New Issue