forked from rc/aircox
code quality
This commit is contained in:
@ -1,23 +1,24 @@
|
||||
from django.urls import reverse
|
||||
|
||||
from rest_framework import serializers
|
||||
|
||||
from .controllers import QueueSource, PlaylistSource
|
||||
|
||||
|
||||
__all__ = ['RequestSerializer', 'StreamerSerializer', 'SourceSerializer',
|
||||
'PlaylistSerializer', 'QueueSourceSerializer']
|
||||
__all__ = [
|
||||
"RequestSerializer",
|
||||
"StreamerSerializer",
|
||||
"SourceSerializer",
|
||||
"PlaylistSerializer",
|
||||
"QueueSourceSerializer",
|
||||
]
|
||||
# TODO: use models' serializers
|
||||
|
||||
|
||||
class BaseSerializer(serializers.Serializer):
|
||||
url_ = serializers.SerializerMethodField('get_url')
|
||||
url_ = serializers.SerializerMethodField("get_url")
|
||||
url_name = None
|
||||
|
||||
def get_url(self, obj, **kwargs):
|
||||
if not obj or not self.url_name:
|
||||
return
|
||||
kwargs.setdefault('pk', getattr(obj, 'id', None))
|
||||
kwargs.setdefault("pk", getattr(obj, "id", None))
|
||||
return reverse(self.url_name, kwargs=kwargs)
|
||||
|
||||
|
||||
@ -42,7 +43,7 @@ class SourceSerializer(BaseMetadataSerializer):
|
||||
remaining = serializers.FloatField()
|
||||
|
||||
def get_url(self, obj, **kwargs):
|
||||
kwargs['station_pk'] = obj.station.pk
|
||||
kwargs["station_pk"] = obj.station.pk
|
||||
return super().get_url(obj, **kwargs)
|
||||
|
||||
def get_status_verbose(self, obj, **kwargs):
|
||||
@ -50,26 +51,26 @@ class SourceSerializer(BaseMetadataSerializer):
|
||||
|
||||
|
||||
class PlaylistSerializer(SourceSerializer):
|
||||
program = serializers.CharField(source='program.id')
|
||||
program = serializers.CharField(source="program.id")
|
||||
|
||||
url_name = "admin:api:streamer-playlist-detail"
|
||||
|
||||
url_name = 'admin:api:streamer-playlist-detail'
|
||||
|
||||
class QueueSourceSerializer(SourceSerializer):
|
||||
queue = serializers.ListField(child=RequestSerializer(), source='requests')
|
||||
queue = serializers.ListField(child=RequestSerializer(), source="requests")
|
||||
|
||||
url_name = 'admin:api:streamer-queue-detail'
|
||||
url_name = "admin:api:streamer-queue-detail"
|
||||
|
||||
|
||||
class StreamerSerializer(BaseSerializer):
|
||||
id = serializers.IntegerField(source='station.pk')
|
||||
name = serializers.CharField(source='station.name')
|
||||
source = serializers.CharField(source='source.id', required=False)
|
||||
id = serializers.IntegerField(source="station.pk")
|
||||
name = serializers.CharField(source="station.name")
|
||||
source = serializers.CharField(source="source.id", required=False)
|
||||
playlists = serializers.ListField(child=PlaylistSerializer())
|
||||
queues = serializers.ListField(child=QueueSourceSerializer())
|
||||
|
||||
url_name = 'admin:api:streamer-detail'
|
||||
url_name = "admin:api:streamer-detail"
|
||||
|
||||
def get_url(self, obj, **kwargs):
|
||||
kwargs['pk'] = obj.station.pk
|
||||
kwargs["pk"] = obj.station.pk
|
||||
return super().get_url(obj, **kwargs)
|
||||
|
||||
|
Reference in New Issue
Block a user