def get()

in gnm_deliverables/views/metadata_views.py [0:0]


    def get(self, request, project_id, asset_id, platform):
        try:
            asset = DeliverableAsset.objects.get(
                deliverable__pluto_core_project_id__exact=project_id, pk=asset_id)
        except ObjectDoesNotExist:
            return Response({"status": "error", "details": "not found"}, status=404)
        if platform == 'youtube' and asset.youtube_master_id:
            log_entries = LogEntry.objects.filter(related_youtube=asset.youtube_master_id)
        elif platform == 'gnmwebsite' and asset.gnm_website_master_id:
            log_entries = LogEntry.objects.filter(
                related_gnm_website_id=asset.gnm_website_master_id)
        elif platform == 'mainstream' and asset.mainstream_master_id:
            log_entries = LogEntry.objects.filter(related_mainstream=asset.mainstream_master_id)
        elif platform == 'dailymotion' and asset.DailyMotion_master_id:
            log_entries = LogEntry.objects.filter(related_daily_motion=asset.DailyMotion_master_id)
        else:
            return Response({"status": "error", "details": "not found"}, status=404)

        qs = log_entries.order_by('-timestamp')
        if "limit" in request.GET:
            try:
                limit = int(request.GET["limit"])
                qs = log_entries.order_by('-timestamp')[0:limit]
            except Exception as e:
                logger.warning("limit parameter {0} was not valid: {1}".format(request.GET['limit'], str(e)))

        if "full" in request.GET:
            data = [LogEntrySerializer(entry).data for entry in qs]
        else:
            data = [entry.log_line for entry in qs]
        return Response({"logs": data}, status=200)