예제 #1
0
def setup_page():
    """ Setup labeling config
    """
    input_values = {}
    project = g.project
    input_args = current_app.label_studio.input_args

    g.project.description = project.get_config(project.name, input_args).get(
        'description', 'Untitled')

    # evaluate all projects for this user: user_projects + shared_projects
    if project.config.get("show_project_links_in_multisession",
                          True) and hasattr(g, 'user'):
        user = g.user
        project_ids = g.project.get_user_projects(user, input_args.root_dir)

        # own projects
        project_names = [os.path.join(user, uuid) for uuid in project_ids]
        project_desc = [
            Project.get_config(name, input_args).get('description', 'Untitled')
            for name in project_names
        ]
        own_projects = dict(zip(project_ids, project_desc))

        # shared projects
        shared_projects = {}
        for uuid in session.get('shared_projects', []):
            tmp_user = Project.get_user_by_project(uuid, input_args.root_dir)
            project_name = os.path.join(tmp_user, uuid)
            project_desc = Project.get_config(project_name, input_args).get(
                'description', 'Untitled')
            shared_projects[uuid] = project_desc
    else:
        own_projects, shared_projects = {}, {}

    # this is useful for the transfer to playground templates
    template_mode = request.args.get('template_mode')
    page = 'includes/setup_templates.html' if template_mode else 'setup.html'

    templates = get_config_templates(g.project.config)
    return flask.render_template(
        page,
        config=g.project.config,
        project=g.project,
        label_config_full=g.project.label_config_full,
        templates=templates,
        input_values=input_values,
        multi_session=input_args.command == 'start-multi-session',
        own_projects=own_projects,
        shared_projects=shared_projects,
        template_mode=template_mode,
        serialized_project=g.project.serialize())
예제 #2
0
def setup_page():
    """ Setup label config
    """
    templates = get_config_templates(g.project.config)
    input_values = {}
    return flask.render_template(
        'setup.html',
        config=g.project.config,
        project=g.project,
        label_config_full=g.project.label_config_full,
        templates=templates,
        input_values=input_values,
        multi_session=input_args.command == 'start-multi-session')
예제 #3
0
def setup_page():
    """ Setup label config
    """
    project = project_get_or_create()

    templates = get_config_templates()
    input_values = {}
    project.analytics.send(getframeinfo(currentframe()).function)
    return flask.render_template('setup.html',
                                 config=project.config,
                                 project=project.project_obj,
                                 label_config_full=project.label_config_full,
                                 templates=templates,
                                 input_values=input_values)
예제 #4
0
def setup_page():
    """ Setup label config
    """
    global c, project
    reload_config()

    templates = get_config_templates()
    input_values = {}
    analytics.send(getframeinfo(currentframe()).function)
    return flask.render_template('setup.html',
                                 config=c,
                                 project=project,
                                 templates=templates,
                                 input_values=input_values)
예제 #5
0
def setup_page():
    """ Setup label config
    """
    project = project_get_or_create()

    templates = get_config_templates()
    input_values = {}
    project.analytics.send(getframeinfo(currentframe()).function)
    return flask.render_template(
        'setup.html',
        config=project.config,
        project=project,
        label_config_full=project.label_config_full,
        templates=templates,
        input_values=input_values,
        multi_session=input_args.command == 'start-multi-session')
예제 #6
0
def setup_page():
    """ Setup label config
    """
    input_values = {}
    project = g.project

    g.project.description = project.get_config(project.name, input_args).get(
        'description', 'Untitled')

    # evaluate all projects for this user: user_projects + shared_projects
    if project.config.get("show_project_links_in_multisession",
                          True) and hasattr(g, 'user'):
        user = g.user
        project_ids = g.project.get_user_projects(user, input_args.root_dir)

        # own projects
        project_names = [os.path.join(user, uuid) for uuid in project_ids]
        project_desc = [
            Project.get_config(name, input_args).get('description', 'Untitled')
            for name in project_names
        ]
        own_projects = dict(zip(project_ids, project_desc))

        # shared projects
        shared_projects = {}
        for uuid in session.get('shared_projects', []):
            tmp_user = Project.get_user_by_project(uuid, input_args.root_dir)
            project_name = os.path.join(tmp_user, uuid)
            project_desc = Project.get_config(project_name, input_args).get(
                'description', 'Untitled')
            shared_projects[uuid] = project_desc
    else:
        own_projects, shared_projects = {}, {}

    templates = get_config_templates(g.project.config)
    return flask.render_template(
        'setup.html',
        config=g.project.config,
        project=g.project,
        label_config_full=g.project.label_config_full,
        templates=templates,
        input_values=input_values,
        multi_session=input_args.command == 'start-multi-session',
        own_projects=own_projects,
        shared_projects=shared_projects)
예제 #7
0
def setup_page():
    """ Setup label config
    """

    if not app.config['USER_LOGGED_IN']:
        return redirect("/login")

    project = project_get_or_create()

    templates = get_config_templates()
    input_values = {}
    project.analytics.send(getframeinfo(currentframe()).function)
    return flask.render_template(
        'setup.html',
        config=project.config,
        project=project.project_obj,
        label_config_full=project.label_config_full,
        templates=templates,
        input_values=input_values,
        multi_session=input_args.command == 'start-multi-session'
    )