Esempio n. 1
0
def get_dapi_content_type_response():
    '''Returns a string with all the content types supported by the API.
        Optimisation to avoid blocking call by the JS API.
    '''
    from digipal.api.generic import API
    api = API()
    ret = api.get_all_content_types('content_type')
    return ret
Esempio n. 2
0
def get_dapi_content_type_response():
    '''Returns a string with all the content types supported by the API.
        Optimisation to avoid blocking call by the JS API.
    '''
    from digipal.api.generic import API
    api = API()
    ret = api.get_all_content_types('content_type')
    return ret
Esempio n. 3
0
    jsonpcallback = request.GET.get('@callback', None)
    if jsonpcallback is not None:
        if not re.match(ur'(?i)^\w+$', jsonpcallback):
            # invalid name format for the callback
            data = {
                'success': False,
                'errors': ['Invalid JSONP callback name format.'],
                'results': []
            }
            data = json.dumps(data)
            jsonpcallback = None

    if not data:
        if ids:
            ids = str(ids)
        data = API.process_request(request, content_type, ids)

    # convert from JSON to another format
    format = request.GET.get('@format', None)
    if jsonpcallback:
        format = 'jsonp'
    data, mimetype, is_webpage = API.convert_response(
        data, format, jsonpcallback, request.GET.get('@xslt', None))

    if is_webpage:
        return render_to_response('digipal/api/webpage.html',
                                  {'api_response': mark_safe(data)},
                                  context_instance=RequestContext(request))

    # Access-Control-Allow-Origin: *
    ret = HttpResponse(data, content_type=mimetype)
Esempio n. 4
0
    data = None

    # Support for JSONP responses
    jsonpcallback = request.REQUEST.get('@callback', None)
    if jsonpcallback is not None:
        if not re.match(ur'(?i)^\w+$', jsonpcallback):
            # invalid name format for the callback
            data = {'success': False, 'errors': ['Invalid JSONP callback name format.'], 'results': []}
            data = json.dumps(data)
            jsonpcallback = None

    if not data:
        if ids:
            ids = str(ids)
        from digipal.api.generic import API
        data = API.process_request(request, content_type, ids)

    # convert from JSON to another format
    format = request.REQUEST.get('@format', None)
    if jsonpcallback:
        format = 'jsonp'
    data, mimetype, is_webpage = API.convert_response(data, format, jsonpcallback, request.REQUEST.get('@xslt', None))

    if is_webpage:
        return render_to_response('digipal/api/webpage.html', {'api_response': mark_safe(data)}, context_instance=RequestContext(request))

    # Access-Control-Allow-Origin: *
    ret = HttpResponse(data, content_type=mimetype)
    ret['Access-Control-Allow-Origin'] = '*'
    return ret