From 6f82932500a7d02d9f4b8ad95e586f65ce2ff023 Mon Sep 17 00:00:00 2001 From: qtipee Date: Thu, 23 Jul 2020 23:13:08 +0200 Subject: [PATCH] Changes sample file name at upload and download --- src/safm_api/models.py | 8 +++----- src/safm_api/tests.py | 11 ++++++----- src/safm_api/views.py | 1 - 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/safm_api/models.py b/src/safm_api/models.py index 7efad0a..a88a930 100644 --- a/src/safm_api/models.py +++ b/src/safm_api/models.py @@ -1,7 +1,7 @@ from django.db import models from django.contrib.auth.models import User -import os, unicodedata +import os import audiofile as af import numpy as np from aubio import source, tempo @@ -33,10 +33,8 @@ class Mode(models.TextChoices): MAJOR = 'maj' def user_directory_path(instance, filename): - # File will be uploaded to MEDIA_ROOT/samples// - filename = unicodedata.normalize('NFKD', filename).encode('ascii', 'ignore') - ext = os.path.splitext(filename)[1] - return 'samples/{0}/{1}{2}'.format(instance.user.id, filename, ext) + # File will be uploaded to MEDIA_ROOT/samples// + return 'samples/{0}/{1}'.format(instance.user.id, filename) # Table columns user = models.ForeignKey(User, null=True, on_delete=models.SET_NULL) diff --git a/src/safm_api/tests.py b/src/safm_api/tests.py index d786002..1159213 100644 --- a/src/safm_api/tests.py +++ b/src/safm_api/tests.py @@ -318,20 +318,21 @@ def test_sample_filename(self): ''' Checks that the filename of an uploaded sample is correctly converted. ''' - filename = self.user.username - file = SimpleUploadedFile('test.wav', b'This is the file content.') + name = 'Sample_Test_File' + filename = 'test.wav' + file = SimpleUploadedFile(filename, b'This is the file content.') sample = Sample( user=self.user, - name=filename, + name=name, file=file, key=Sample.Key.A, mode=Sample.Mode.MAJOR ) sample.save() - sample = Sample.objects.get(name=filename) - expected_filename = 'samples/{0}/{1}.wav'.format(self.user.id, filename) + sample = Sample.objects.get(name=name) + expected_filename = 'samples/{0}/{1}'.format(self.user.id, filename) self.assertEqual(sample.file, expected_filename) @tag('sample_null_user_delete') diff --git a/src/safm_api/views.py b/src/safm_api/views.py index f959aaa..f871edc 100644 --- a/src/safm_api/views.py +++ b/src/safm_api/views.py @@ -327,7 +327,6 @@ class UserDownloads(APIView): def get(self, request): user = request.user - # From most recent to oldest user_downloads = UserSampleDownload.objects.filter(user=user).order_by('-datetime_download') user_downloads_serializer = UserDownloadSerializer(user_downloads, many=True)