Exemple #1
0
def viewconfs(request):
    '''
    Retrieve a viewconfs with a given uid

    Args:

    request (django.http.HTTPRequest): The request object containing the
        uid (e.g. d=hg45ksdjfds) that identifies the viewconf.

    Return:

    '''
    if request.method == 'POST':
        uuid = slugid.nice()
        viewconf = request.body

        serializer = tss.ViewConfSerializer(data={'viewconf': request.body})
        if not serializer.is_valid():
            return JsonResponse(
                {'error': 'Serializer not valid'},
                status=rfs.HTTP_400_BAD_REQUEST
            )

        serializer.save(uuid=uuid, viewconf=viewconf)

        return JsonResponse({'uid': uuid})

    uuid = request.GET.get('d')

    obj = tm.ViewConf.objects.get(uuid=uuid)
    return JsonResponse(json.loads(obj.viewconf))
def viewconfs(request):
    """
    Retrieve a viewconfs with a given uid

    Args:

    request (django.http.HTTPRequest): The request object containing the
        uid (e.g. d=hg45ksdjfds) that identifies the viewconf.

    Return:

    """
    if request.method == "POST":
        if not hss.UPLOAD_ENABLED:
            return JsonResponse({"error": "Uploads disabled"}, status=403)

        if request.user.is_anonymous and not hss.PUBLIC_UPLOAD_ENABLED:
            return JsonResponse({"error": "Public uploads disabled"}, status=403)

        viewconf_wrapper = json.loads(request.body.decode("utf-8"))
        uid = viewconf_wrapper.get("uid") or slugid.nice()

        try:
            viewconf = json.dumps(viewconf_wrapper["viewconf"])
        except KeyError:
            return JsonResponse({"error": "Broken view config"}, status=400)

        try:
            higlass_version = viewconf_wrapper["higlassVersion"]
        except KeyError:
            higlass_version = ""

        existing_object = tm.ViewConf.objects.filter(uuid=uid)
        if len(existing_object) > 0:
            return JsonResponse(
                {"error": "Object with uid {} already exists".format(uid)},
                status=rfs.HTTP_400_BAD_REQUEST,
            )

        serializer = tss.ViewConfSerializer(data={"viewconf": viewconf})

        if not serializer.is_valid():
            return JsonResponse(
                {"error": "Serializer not valid"}, status=rfs.HTTP_400_BAD_REQUEST
            )

        serializer.save(uuid=uid, viewconf=viewconf, higlassVersion=higlass_version)

        return JsonResponse({"uid": uid})

    uid = request.GET.get("d")

    if not uid:
        return JsonResponse({"error": "View config ID not specified"}, status=404)

    try:
        obj = tm.ViewConf.objects.get(uuid=uid)
    except ObjectDoesNotExist:
        return JsonResponse({"error": "View config not found"}, status=404)

    return JsonResponse(json.loads(obj.viewconf))
Exemple #3
0
def viewconfs(request):
    '''
    Retrieve a viewconfs with a given uid

    Args:

    request (django.http.HTTPRequest): The request object containing the
        uid (e.g. d=hg45ksdjfds) that identifies the viewconf.

    Return:

    '''
    if request.method == 'POST':
        if not hss.UPLOAD_ENABLED:
            return JsonResponse({
                'error': 'Uploads disabled'
            }, status=403)

        if request.user.is_anonymous and not hss.PUBLIC_UPLOAD_ENABLED:
            return JsonResponse({
                'error': 'Public uploads disabled'
            }, status=403)

        viewconf_wrapper = json.loads(request.body.decode('utf-8'))
        uid = viewconf_wrapper.get('uid') or slugid.nice()

        try:
            viewconf = json.dumps(viewconf_wrapper['viewconf'])
        except KeyError:
            return JsonResponse({
                'error': 'Broken view config'
            }, status=400)

        try:
            higlass_version = viewconf_wrapper['higlassVersion']
        except KeyError:
            higlass_version = ''

        existing_object = tm.ViewConf.objects.filter(uuid=uid)
        if len(existing_object) > 0:
            return JsonResponse({
                'error': 'Object with uid {} already exists'.format(uid)
            }, status=rfs.HTTP_400_BAD_REQUEST);

        serializer = tss.ViewConfSerializer(data={'viewconf': viewconf})

        if not serializer.is_valid():
            return JsonResponse({
                'error': 'Serializer not valid'
            }, status=rfs.HTTP_400_BAD_REQUEST)

        serializer.save(
            uuid=uid, viewconf=viewconf, higlassVersion=higlass_version
        )

        return JsonResponse({'uid': uid})

    uid = request.GET.get('d')

    if not uid:
        return JsonResponse({
            'error': 'View config ID not specified'
        }, status=404)

    try:
        obj = tm.ViewConf.objects.get(uuid=uid)
    except ObjectDoesNotExist:
        return JsonResponse({
            'error': 'View config not found'
        }, status=404)

    return JsonResponse(json.loads(obj.viewconf))