Exemple #1
0
def get_submission(request, project, submission):
    submissions = Submission.objects.filter(
        name=submission,
        submissionbuild__product__name=project).prefetch_related(
            'submissionbuild_set__group__imagebuild_set',
            'owner',
            'gittree',
        )
    if submissions:
        sng = SubmissionGroup(submissions)
        bdg = sng.buildgroup(project)
        detail = {
            'submission':
            submission,
            'target_project':
            project,
            'commit':
            sorted(list(sng.commit)),
            'submitter':
            sorted([u.email for u in sng.owner]),
            'download_url':
            bdg.download_url if bdg else '',
            'git_trees':
            sorted([g.gitpath for g in sng.gittree]),
            'images':
            sorted([(i.name, i.STATUS[i.status])
                    for i in bdg.imagebuild_set.all()]) if bdg else [],
        }
        return HttpResponse(json.dumps(detail),
                            content_type="application/json")
    else:
        return HttpResponseNotFound(json.dumps(
            {'reason': 'submission can not be found'}),
                                    content_type="application/json")