code quality

This commit is contained in:
bkfox
2023-03-13 17:47:00 +01:00
parent 934817da8a
commit 112770eddf
162 changed files with 4798 additions and 4069 deletions

View File

@ -1,3 +1,12 @@
from .log import *
from .sound import *
from .admin import *
from .admin import TrackSerializer, UserSettingsSerializer
from .log import LogInfo, LogInfoSerializer
from .sound import PodcastSerializer, SoundSerializer
__all__ = (
"TrackSerializer",
"UserSettingsSerializer",
"LogInfo",
"LogInfoSerializer",
"SoundSerializer",
"PodcastSerializer",
)

View File

@ -1,10 +1,9 @@
from rest_framework import serializers
from taggit.serializers import TagListSerializerField, TaggitSerializer
from taggit.serializers import TaggitSerializer, TagListSerializerField
from ..models import Track, UserSettings
__all__ = ('TrackSerializer', 'UserSettingsSerializer')
__all__ = ("TrackSerializer", "UserSettingsSerializer")
class TrackSerializer(TaggitSerializer, serializers.ModelSerializer):
@ -12,19 +11,29 @@ class TrackSerializer(TaggitSerializer, serializers.ModelSerializer):
class Meta:
model = Track
fields = ('pk', 'artist', 'title', 'album', 'year', 'position',
'info', 'tags', 'episode', 'sound', 'timestamp')
fields = (
"pk",
"artist",
"title",
"album",
"year",
"position",
"info",
"tags",
"episode",
"sound",
"timestamp",
)
class UserSettingsSerializer(serializers.ModelSerializer):
# TODO: validate fields values (playlist_editor_columns at least)
class Meta:
model = UserSettings
fields = ('playlist_editor_columns', 'playlist_editor_sep')
fields = ("playlist_editor_columns", "playlist_editor_sep")
def create(self, validated_data):
user = self.context.get('user')
user = self.context.get("user")
if user:
validated_data['user_id'] = user.id
validated_data["user_id"] = user.id
return super().create(validated_data)

View File

@ -2,14 +2,13 @@ from rest_framework import serializers
from ..models import Diffusion, Log
__all__ = ('LogInfo', 'LogInfoSerializer')
__all__ = ("LogInfo", "LogInfoSerializer")
class LogInfo:
obj = None
start, end = None, None
title, artist = '', ''
title, artist = "", ""
url, cover = None, None
info = None
@ -20,17 +19,17 @@ class LogInfo:
elif isinstance(obj, Log):
self.from_log(obj)
else:
raise ValueError('`obj` must be a Diffusion or a Track Log.')
raise ValueError("`obj` must be a Diffusion or a Track Log.")
@property
def type(self):
return 'track' if isinstance(self.obj, Log) else 'diffusion'
return "track" if isinstance(self.obj, Log) else "diffusion"
def from_diffusion(self, obj):
episode = obj.episode
self.start, self.end = obj.start, obj.end
self.title, self.url = episode.title, episode.get_absolute_url()
self.cover = episode.cover and episode.cover.icons['64']
self.cover = episode.cover and episode.cover.icons["64"]
self.info = episode.category and episode.category.title
self.obj = obj

View File

@ -2,14 +2,27 @@ from rest_framework import serializers
from ..models import Sound
__all__ = ("SoundSerializer", "PodcastSerializer")
class SoundSerializer(serializers.ModelSerializer):
file = serializers.FileField(use_url=False)
class Meta:
model = Sound
fields = ['pk', 'name', 'program', 'episode', 'type', 'file',
'duration', 'mtime', 'is_good_quality', 'is_public', 'url']
fields = [
"pk",
"name",
"program",
"episode",
"type",
"file",
"duration",
"mtime",
"is_good_quality",
"is_public",
"url",
]
class PodcastSerializer(serializers.ModelSerializer):
@ -17,5 +30,14 @@ class PodcastSerializer(serializers.ModelSerializer):
class Meta:
model = Sound
fields = ['pk', 'name', 'program', 'episode', 'type',
'duration', 'mtime', 'url', 'is_downloadable']
fields = [
"pk",
"name",
"program",
"episode",
"type",
"duration",
"mtime",
"url",
"is_downloadable",
]