def retrieve(self, request, parent_lookup_torrent=None, *args, **kwargs):
"""
Retrieve a file of the user.
:return: Response
"""
if parent_lookup_torrent:
# Retrieve a file of the torrent.
torrent = get_object_or_404(Torrent, pk=parent_lookup_torrent)
if not torrent.finished:
return Response({
'detail': "The torrent hasn't finished downloading yet.",
'progress': torrent.progress
}, status=status.HTTP_400_BAD_REQUEST)
file_obj = get_object_or_404(File, torrent__pk=parent_lookup_torrent, pk=kwargs.get('pk'))
serializer = self.serializer_class(file_obj)
return Response(serializer.data)
return super(FileViewSet, self).retrieve(request, *args, **kwargs)
评论列表
文章目录