Exemplo n.º 1
0
Arquivo: views.py Projeto: ziq211/hue
def editor(request, is_mobile=False, is_embeddable=False):
    editor_id = request.GET.get('editor')
    editor_type = request.GET.get('type', 'hive')

    if editor_type == 'notebook' or request.GET.get('notebook'):
        return notebook(request)

    if editor_id:  # Open existing saved editor document
        editor_type = _get_editor_type(editor_id)

    template = 'editor.mako'
    if is_mobile:
        template = 'editor_m.mako'

    return render(
        template, request, {
            'editor_id':
            editor_id or None,
            'notebooks_json':
            '{}',
            'is_embeddable':
            request.GET.get('is_embeddable', False),
            'editor_type':
            editor_type,
            'options_json':
            json.dumps({
                'languages': get_ordered_interpreters(request.user),
                'mode': 'editor',
                'is_optimizer_enabled': has_optimizer(),
                'is_wa_enabled': has_workload_analytics(),
                'is_navigator_enabled': has_catalog(request.user),
                'editor_type': editor_type,
                'mobile': is_mobile
            })
        })
Exemplo n.º 2
0
Arquivo: views.py Projeto: ziq211/hue
def notebook(request, is_embeddable=False):
    if not SHOW_NOTEBOOKS.get() or not request.user.has_hue_permission(
            action="access", app='notebook'):
        return serve_403_error(request)

    notebook_id = request.GET.get('notebook', request.GET.get('editor'))

    is_yarn_mode = False
    try:
        from spark.conf import LIVY_SERVER_SESSION_KIND
        is_yarn_mode = LIVY_SERVER_SESSION_KIND.get()
    except:
        LOG.exception('Spark is not enabled')

    return render(
        'notebook.mako', request, {
            'editor_id':
            notebook_id or None,
            'notebooks_json':
            '{}',
            'is_embeddable':
            request.GET.get('is_embeddable', False),
            'options_json':
            json.dumps({
                'languages': get_ordered_interpreters(request.user),
                'session_properties': SparkApi.get_properties(),
                'is_optimizer_enabled': has_optimizer(),
                'is_wa_enabled': has_workload_analytics(),
                'is_navigator_enabled': has_catalog(request.user),
                'editor_type': 'notebook'
            }),
            'is_yarn_mode':
            is_yarn_mode,
        })
Exemplo n.º 3
0
def editor(request, is_mobile=False, is_embeddable=False):
    editor_id = request.GET.get('editor')
    editor_type = request.GET.get('type', 'hive')
    gist_id = request.GET.get('gist')

    if editor_type == 'notebook' or request.GET.get('notebook'):
        return notebook(request)

    if editor_type == 'gist':
        gist_doc = _get_gist_document(uuid=gist_id)
        editor_type = gist_doc.extra

    if EXAMPLES.AUTO_OPEN.get() and not editor_id:
        sample_query = _get_dialect_example(dialect=editor_type)
        if sample_query:
            editor_id = sample_query.id

    if editor_id and not gist_id:  # Open existing saved editor document
        editor_type = _get_editor_type(editor_id)

    template = 'editor.mako'
    if ENABLE_NOTEBOOK_2.get():
        template = 'editor2.mako'
    elif is_mobile:
        template = 'editor_m.mako'

    return render(
        template, request, {
            'editor_id':
            editor_id or None,
            'notebooks_json':
            '{}',
            'is_embeddable':
            request.GET.get('is_embeddable', False),
            'editor_type':
            editor_type,
            'options_json':
            json.dumps({
                'languages': get_ordered_interpreters(request.user),
                'mode': 'editor',
                'is_optimizer_enabled': has_optimizer(),
                'is_wa_enabled': has_workload_analytics(),
                'is_navigator_enabled': has_catalog(request.user),
                'editor_type': editor_type,
                'mobile': is_mobile
            })
        })