mirror of
https://github.com/fergalmoran/dss.api.git
synced 2026-02-20 06:34:02 +00:00
Fixes to serializers
This commit is contained in:
@@ -202,6 +202,18 @@ class MixSerializer(serializers.ModelSerializer):
|
||||
except UserProfile.DoesNotExist:
|
||||
pass
|
||||
|
||||
genres = self.initial_data['genres']
|
||||
instance.genres.clear()
|
||||
for genre in genres:
|
||||
try:
|
||||
g = Genre.objects.get(slug=genre.get('slug'))
|
||||
instance.genres.add(g)
|
||||
except Genre.DoesNotExist:
|
||||
""" Possibly allow adding genres here """
|
||||
pass
|
||||
|
||||
validated_data.pop('genres', None)
|
||||
|
||||
# get any likes that aren't in passed bundle
|
||||
if 'downloads' in validated_data:
|
||||
plays = validated_data['downloads'] or []
|
||||
@@ -209,12 +221,6 @@ class MixSerializer(serializers.ModelSerializer):
|
||||
instance.add_play(play)
|
||||
validated_data.pop('downloads', None)
|
||||
|
||||
if 'genres' in validated_data:
|
||||
genres = validated_data['genres'] or []
|
||||
for genre in genres:
|
||||
instance.add_genre(genre)
|
||||
validated_data.pop('genres', None)
|
||||
|
||||
return super(MixSerializer, self).update(instance, validated_data)
|
||||
except MixUpdateException as ex:
|
||||
raise ex
|
||||
|
||||
@@ -96,7 +96,7 @@ class Mix(BaseModel):
|
||||
return self.__unicode__()
|
||||
|
||||
def __unicode__(self):
|
||||
return "{} - {}".format(self.user.get_nice_name(), self.title)
|
||||
return "{} - {}".format(self.user.get_nice_name(), self.title)
|
||||
|
||||
def save(self, force_insert=False, force_update=False, using=None, update_fields=None):
|
||||
if not self.id:
|
||||
@@ -117,14 +117,14 @@ class Mix(BaseModel):
|
||||
def create_mp3_tags(self, prefix=""):
|
||||
try:
|
||||
tag_mp3(
|
||||
self.get_absolute_path(),
|
||||
artist=self.user.get_nice_name(),
|
||||
title=self.title,
|
||||
url=self.get_full_url(),
|
||||
album="Deep South Sounds Mixes",
|
||||
year=self.upload_date.year,
|
||||
comment=self.description,
|
||||
genres=self.get_nice_genres())
|
||||
self.get_absolute_path(),
|
||||
artist=self.user.get_nice_name(),
|
||||
title=self.title,
|
||||
url=self.get_full_url(),
|
||||
album="Deep South Sounds Mixes",
|
||||
year=self.upload_date.year,
|
||||
comment=self.description,
|
||||
genres=self.get_nice_genres())
|
||||
except Exception as ex:
|
||||
self.logger.exception("Mix: error creating tags: %s" % ex)
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user