Esempio n. 1
0
File: views.py Progetto: ome/figure
def make_web_figure(request, conn=None, **kwargs):
    """
    Uses the scripting service to generate pdf via json etc in POST data.
    Script will show up in the 'Activities' for users to monitor and
    download result etc.
    """
    if not request.method == 'POST':
        return HttpResponse("Need to use POST")

    script_service = conn.getScriptService()
    sid = script_service.getScriptID(SCRIPT_PATH)

    figure_json = request.POST.get('figureJSON')
    # export options e.g. "PDF", "PDF_IMAGES"
    export_option = request.POST.get('exportOption')
    webclient_uri = request.build_absolute_uri(reverse('webindex'))

    input_map = {
        'Figure_JSON': wrap(figure_json.encode('utf8')),
        'Export_Option': wrap(str(export_option)),
        'Webclient_URI': wrap(webclient_uri)}

    # If the figure has been saved, construct URL to it.
    figure_dict = json.loads(figure_json)
    if 'fileId' in figure_dict:
        try:
            figure_url = reverse('load_figure', args=[figure_dict['fileId']])
            figure_url = request.build_absolute_uri(figure_url)
            input_map['Figure_URI'] = wrap(figure_url)
        except NoReverseMatch:
            pass

    rsp = run_script(request, conn, sid, input_map, scriptName='Figure.pdf')
    return HttpResponse(json.dumps(rsp), content_type='json')
Esempio n. 2
0
def make_web_figure(request, conn=None, **kwargs):
    """
    Uses the scripting service to generate pdf via json etc in POST data.
    Script will show up in the 'Activities' for users to monitor and
    download result etc.
    """
    if not request.method == 'POST':
        return HttpResponse("Need to use POST")

    script_service = conn.getScriptService()
    sid = script_service.getScriptID(SCRIPT_PATH)

    figure_json = request.POST.get('figureJSON')
    # export options e.g. "PDF", "PDF_IMAGES"
    export_option = request.POST.get('exportOption')
    webclient_uri = request.build_absolute_uri(reverse('webindex'))

    input_map = {
        'Figure_JSON': wrap(figure_json.encode('utf8')),
        'Export_Option': wrap(str(export_option)),
        'Webclient_URI': wrap(webclient_uri)
    }

    # If the figure has been saved, construct URL to it.
    figure_dict = json.loads(figure_json)
    if 'fileId' in figure_dict:
        try:
            figure_url = reverse('load_figure', args=[figure_dict['fileId']])
            figure_url = request.build_absolute_uri(figure_url)
            input_map['Figure_URI'] = wrap(figure_url)
        except NoReverseMatch:
            pass

    rsp = run_script(request, conn, sid, input_map, scriptName='Figure.pdf')
    return HttpResponse(json.dumps(rsp), content_type='json')
Esempio n. 3
0
def make_web_figure(request, conn=None, **kwargs):
    """
    Uses the scripting service to generate pdf via json etc in POST data.
    Script will show up in the 'Activities' for users to monitor and
    download result etc.
    """
    if not request.method == 'POST':
        return HttpResponse("Need to use POST")

    scriptService = conn.getScriptService()
    sId = scriptService.getScriptID(SCRIPT_PATH)

    figureJSON = request.POST.get('figureJSON')
    # see https://github.com/will-moore/figure/issues/16
    figureJSON = unicodedata.normalize('NFKD', figureJSON).encode('ascii','ignore')
    webclient_uri = request.build_absolute_uri(reverse('webindex'))

    figure_dict = json.loads(figureJSON)

    inputMap = {
        'Figure_JSON': wrap(figureJSON),
        'Webclient_URI': wrap(webclient_uri)}

    # If the figure has been saved, construct URL to it...
    if 'fileId' in figure_dict:
        try:
            figureUrl = reverse('load_figure', args=[figure_dict['fileId']])
            figureUrl = request.build_absolute_uri(figureUrl)
            inputMap['Figure_URI'] = wrap(figureUrl)
        except:
            pass

    rsp = run_script(request, conn, sId, inputMap, scriptName='Figure.pdf')
    return HttpResponse(json.dumps(rsp), content_type='json')
Esempio n. 4
0
def make_web_figure(request, conn=None, **kwargs):
    """
    Uses the scripting service to generate pdf via json etc in POST data.
    Script will show up in the 'Activities' for users to monitor and
    download result etc.
    """
    if not request.method == 'POST':
        return HttpResponse("Need to use POST")

    scriptService = conn.getScriptService()
    sId = scriptService.getScriptID(SCRIPT_PATH)

    figureJSON = str(request.POST.get('figureJSON'))
    webclient_uri = request.build_absolute_uri(reverse('webindex'))

    inputMap = {
        'Figure_JSON': wrap(figureJSON),
        'Webclient_URI': wrap(webclient_uri)}

    rsp = run_script(request, conn, sId, inputMap, scriptName='Figure.pdf')
    return HttpResponse(json.dumps(rsp), content_type='json')
Esempio n. 5
0
def make_web_figure(request, conn=None, **kwargs):
    """
    Uses the scripting service to generate pdf via json etc in POST data.
    Script will show up in the 'Activities' for users to monitor and download result etc.
    """
    if not request.method == 'POST':
        return HttpResponse("Need to use POST")

    scriptService = conn.getScriptService()
    sId = scriptService.getScriptID("/weblabs_scripts/Figure_To_Pdf.py")

    pageWidth = int(request.POST.get('pageWidth'))
    pageHeight = int(request.POST.get('pageHeight'))
    panelsJSON = str(request.POST.get('panelsJSON'))

    inputMap = {'Page_Width': wrap(pageWidth),
            'Page_Height': wrap(pageHeight),
            'Panels_JSON': wrap(panelsJSON)}

    rsp = run_script(request, conn, sId, inputMap, scriptName='Create Web Figure.pdf')
    return HttpResponse(simplejson.dumps(rsp), mimetype='json')