示例#1
0
文件: views.py 项目: npajoni/tubuceta
def bmanager_post_job(request):
    jsonData =json.loads(request.body)

    job = Job()
    job.basename        = jsonData['job']['basename']
    job.format          = jsonData['job']['format']
    job.input_filename  = jsonData['job']['input_filename']
    job.input_path      = jsonData['job']['input_path']


    try:
        job.profile = Profile.objects.get(name=jsonData['job']['profile'])
    except ObjectDoesNotExist:
        status = http_NOT_FOUND
        return HttpResponse(json.dumps({'message': 'Profile not found'}), status=status, content_type='application/json')

    dest_list = []
    destinations = jsonData['job']['destinations']

    for destination in destinations:
        try:
            dest_list.append(Destination.objects.get(name=destination))
            #job.destinations.add(Destination.objects.get(name=destination))
        except ObjectDoesNotExist:
            status = http_NOT_FOUND
            return HttpResponse(json.dumps({'message': 'Destination not found'}), status=status,content_type='application/json')

    job.save()
    job.destinations = dest_list
    #job.save()

    response = {"job": {"id": job.id, "basename": job.basename}}
    status = http_POST_OK
    return HttpResponse(json.dumps(response), status=status, content_type='application/json')