Now display CLI instructions to download a set of tracks

This commit is contained in:
Eliot Berriot 2017-07-11 08:40:54 +02:00
commit e8eaf6db94
6 changed files with 108 additions and 6 deletions

View file

@ -362,6 +362,12 @@ class TrackFile(models.Model):
'api:v1:trackfiles-serve', kwargs={'pk': self.pk})
return self.audio_file.url
@property
def filename(self):
return '{}{}'.format(
self.track.full_name,
os.path.splitext(self.audio_file.name)[-1])
class ImportBatch(models.Model):
creation_date = models.DateTimeField(default=timezone.now)

View file

@ -34,7 +34,7 @@ class ImportBatchSerializer(serializers.ModelSerializer):
class TrackFileSerializer(serializers.ModelSerializer):
class Meta:
model = models.TrackFile
fields = ('id', 'path', 'duration', 'source')
fields = ('id', 'path', 'duration', 'source', 'filename')
class SimpleAlbumSerializer(serializers.ModelSerializer):

View file

@ -139,9 +139,8 @@ class TrackFileViewSet(viewsets.ReadOnlyModelViewSet):
return Response(status=404)
response = Response()
filename = "filename*=UTF-8''{}{}".format(
urllib.parse.quote(f.track.full_name),
os.path.splitext(f.audio_file.name)[-1])
filename = "filename*=UTF-8''{}".format(
urllib.parse.quote(f.filename))
response["Content-Disposition"] = "attachment; {}".format(filename)
response['X-Accel-Redirect'] = "{}{}".format(
settings.PROTECT_FILES_PATH,