Ejemplo n.º 1
0
    def list(self, request):

        script_content_type = ContentType.objects.get(app_label='extras',
                                                      model='script')
        results = {
            r.name: r
            for r in JobResult.objects.filter(
                obj_type=script_content_type,
                status__in=JobResultStatusChoices.TERMINAL_STATE_CHOICES).
            defer('data').order_by('created')
        }

        flat_list = []
        for script_list in get_scripts().values():
            flat_list.extend(script_list.values())

        # Attach JobResult objects to each script (if any)
        for script in flat_list:
            script.result = results.get(script.full_name, None)

        serializer = serializers.ScriptSerializer(flat_list,
                                                  many=True,
                                                  context={'request': request})

        return Response(serializer.data)
Ejemplo n.º 2
0
    def list(self, request):

        flat_list = []
        for script_list in get_scripts().values():
            flat_list.extend(script_list.values())

        serializer = serializers.ScriptSerializer(flat_list, many=True, context={'request': request})

        return Response(serializer.data)