добавил загрузку треков в базу

This commit is contained in:
Mike0001-droid 2024-06-20 17:07:25 +05:00
parent ab5cb655d9
commit 8c051bf47f
2 changed files with 16 additions and 2 deletions

View File

@ -23,6 +23,7 @@ class Song(models.Model):
class Meta:
verbose_name = 'Треки'
unique_together = ('azura_id', )
verbose_name_plural = 'Треки'

View File

@ -192,7 +192,7 @@ class SongViewSet(GenericViewSet):
except ObjectDoesNotExist:
return Response({"error": 'Объекта не существует'}, status=status.HTTP_404_NOT_FOUND)
@action(detail=False, methods=['get'])
@action(detail=False, methods=['post'], schema=SongSchema())
def get_all_song(self, request):
file_url = "http://82.97.242.49:10084/api/station/1/files"
API_KEY = "49226d3488aac3f5:18d88659c6c1c5e131a0ce0a94d55235"
@ -200,8 +200,21 @@ class SongViewSet(GenericViewSet):
"Authorization": f"Bearer {API_KEY}"
}
response = requests.get(file_url, headers=headers)
data = []
for i in response.json():
data.append({
"azura_id": i.get('song_id', None),
"title": i.get('title', None),
"artist": i.get('artist', None),
"album": i.get('album', None),
"genre": i.get('genre', None),
"art": i.get('art', None)
})
serializer = SongSerializer(data=data, many=True)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_200_OK)
return Response(response.json(), status=status.HTTP_200_OK)