Ejemplo n.º 1
0
def index():
    #projects = http_server_request('get', '/projects')
    settings = http_server_request('get', '/settings')

    projects = http_server_request('get', '/projects')

    return render_template('projects/index.html',
        projects=projects,
        settings=settings,
        title='projects')
Ejemplo n.º 2
0
def edit():
    worker_ids = request.form['id']
    worker_status = request.form['status'].lower()

    #worker_config = {'system': 'linux',
    #                'blender': 'local'}
    params = dict(id=worker_ids, status=worker_status)
                #'config': worker_config}
    http_server_request('post', '/managers', params)

    return redirect(url_for('managers.index'))
Ejemplo n.º 3
0
def index():
    if request.method == 'POST':
        params = request.form
        http_server_request('post', '/settings', params)

    projects = http_server_request('get', '/projects')
    settings = http_server_request('get', '/settings')
    return render_template('settings/index.html',
                           title='settings',
                           settings=settings,
                           projects=projects)
Ejemplo n.º 4
0
def edit():
    worker_ids = request.form['id']
    worker_status = request.form['status'].lower()

    #worker_config = {'system': 'linux',
    #                'blender': 'local'}
    params = dict(id=worker_ids, status=worker_status)
    #'config': worker_config}
    http_server_request('post', '/workers', params)

    return redirect(url_for('workers.index'))
Ejemplo n.º 5
0
def index():
    if request.method == 'POST':
        params = request.form
        http_server_request('post', '/settings', params)

    projects = http_server_request('get', '/projects')
    settings = http_server_request('get', '/settings')
    return render_template('settings/index.html',
                           title='settings',
                           settings=settings,
                           projects=projects)
Ejemplo n.º 6
0
def index_json():
    workers = http_server_request('get', '/workers')
    workers_list = []

    for key, val in workers.iteritems():
        val['checkbox'] = '<input type="checkbox" value="' + str(val['id']) + ';' + str(val['manager_id']) + '"/>'
        workers_list.append({
            "DT_RowId": "worker_" + str(val['id']),
            "checkbox": val['checkbox'],
            "hostname": key,
            "system": val['system'],
            "ip_address": val['ip_address'],
            "connection": val['connection'],
            "status": val['status'],
            "id": val['id'],
            "activity": val['activity'],
            "manager_id": val['manager_id'],
        })

    # For debugging, if we add the pretty arg to the get request, we get a pretty
    # printed version of the workers_list
    if request.args.get('pretty'):
        print request.args.get('pretty')
        if request.args.get('pretty') == 'true':
            return jsonify(data=workers_list)

    # Default json return
    workers_list = {'data': workers_list}
    content = u"{0}".format(json.dumps(workers_list))
    return Response(content, mimetype='application/json')
Ejemplo n.º 7
0
def edit(job_id):

    params = {}
    for f in request.form:
        params[f] = request.form[f]

    job = http_server_request('put', '/jobs/{0}'.format(job_id), params)
    return jsonify(job)
Ejemplo n.º 8
0
def view_json(job_id):
    """Light info to be retrieved via AJAX"""
    job = http_server_request('get', '/jobs/{0}'.format(job_id))
    job['total_time'] = seconds_to_time(job['total_time'])
    job['average_time'] = seconds_to_time(job['average_time'])
    for task in job['tasks']:
        task['log'] = None
    return jsonify(job)
Ejemplo n.º 9
0
def edit(job_id):

    params = {}
    for f in  request.form:
        params[f] = request.form[f]

    job = http_server_request('put', '/jobs/{0}'.format(job_id), params)
    return jsonify(job)
Ejemplo n.º 10
0
def jobs_update():
    command = request.form["command"].lower()
    job_ids = request.form["id"]
    params = {"id": job_ids, "command": command}
    if command in ["start", "stop", "respawn", "reset", "archive"]:
        jobs = http_server_request("put", "/jobs", params)
        return jsonify(jobs)
    else:
        return "error", 400
Ejemplo n.º 11
0
def view_json(job_id):
    """Light info to be retrieved via AJAX"""
    job = http_server_request('get', '/jobs/{0}'.format(job_id))
    job['total_time'] = seconds_to_time(job['total_time'])
    job['average_time'] = seconds_to_time(job['average_time'])
    job['thumbnail'] = 'http://%s/jobs/thumbnails/%s' % (FLAMENCO_SERVER, job_id)
    for task in job['tasks']:
        task['log'] = None
    return jsonify(job)
Ejemplo n.º 12
0
def jobs_update():
    command = request.form['command'].lower()
    job_ids = request.form['id']
    params = {'id': job_ids, 'command': command}
    if command in ['start', 'stop', 'respawn', 'reset']:
        jobs = http_server_request('put', '/jobs', params)
        return jsonify(jobs)
    else:
        return 'error', 400
Ejemplo n.º 13
0
def view_json(job_id):
    """Light info to be retrieved via AJAX"""
    job = http_server_request("get", "/jobs/{0}".format(job_id))
    job["total_time"] = seconds_to_time(job["total_time"])
    job["average_time"] = seconds_to_time(job["average_time"])
    job["average_time_frame"] = seconds_to_time(job["average_time_frame"])
    job["thumbnail"] = "http://%s/jobs/thumbnails/%s" % (FLAMENCO_SERVER, job_id)
    for task in job["tasks"]:
        task["log"] = None
    return jsonify(job)
Ejemplo n.º 14
0
def job(job_id):
    print '[Debug] job_id is %s' % job_id
    job = http_server_request('get', '/jobs/{0}'.format(job_id))
    job['settings'] = json.loads(job['settings'])

    #Tasks
    job['thumbnail'] = 'http://%s/jobs/thumbnails/%s' % (BRENDER_SERVER,
                                                         job_id)

    return render_template('jobs/view.html', job=job)
Ejemplo n.º 15
0
def jobs_update():
    command = request.form['command'].lower()
    job_ids = request.form['id']
    params = {'id': job_ids,
              'command' : command}
    if command in ['start', 'stop', 'respawn', 'reset', 'archive']:
        jobs = http_server_request('put',
            '/jobs', params)
        return jsonify(jobs)
    else:
        return 'error', 400
Ejemplo n.º 16
0
def view_json(job_id):
    """Light info to be retrieved via AJAX"""
    job = http_server_request('get', '/jobs/{0}'.format(job_id))
    job['total_time'] = seconds_to_time(job['total_time'])
    job['average_time'] = seconds_to_time(job['average_time'])
    job['average_time_frame'] = seconds_to_time(job['average_time_frame'])
    job['thumbnail'] = 'http://%s/jobs/thumbnails/%s' % (FLAMENCO_SERVER,
                                                         job_id)
    for task in job['tasks']:
        task['log'] = None
    return jsonify(job)
Ejemplo n.º 17
0
def status():
    try:
        server_status = check_connection()
        server_stats = http_server_request('get', '/stats')
    except:
        server_status = 'offline'
        server_stats = ''
    return render_template('settings/status.html',
        title='server status',
        server_stats=server_stats,
        server_status=server_status)
Ejemplo n.º 18
0
def status():
    try:
        server_status = check_connection()
        server_stats = http_server_request('get', '/stats')
    except:
        server_status = 'offline'
        server_stats = ''
    return render_template('settings/status.html',
                           title='server status',
                           server_stats=server_stats,
                           server_status=server_status)
Ejemplo n.º 19
0
def jobs_browse(path):
    if len(path) > 0:
        path = os.path.join('/browse', path)
    else:
        path = "/browse"
    path_data = http_server_request('get', path)
    path_data_sorted = sorted(path_data['items_list'], key=lambda p: p[0])
    return render_template('browse_modal.html',
        # items=path_data['items'],
        items_list=path_data_sorted,
        parent_folder=path_data['parent_path'])
Ejemplo n.º 20
0
def edit():
    worker_ids = request.form['id']
    worker_status = request.form['status'].lower()

    #worker_config = {'system': 'linux',
    #                'blender': 'local'}
    params = dict(id=worker_ids, status=worker_status)
                #'config': worker_config}
    r = http_server_request('post', '/workers', params)

    return jsonify(status=worker_status)
Ejemplo n.º 21
0
def add():
    if request.method == 'POST':
        params = dict(
            name=request.form['name'],
            path_server=request.form['path_server'],
            path_linux=request.form['path_linux'],
            path_win=request.form['path_win'],
            path_osx=request.form['path_osx'],
            render_path_server=request.form['render_path_server'],
            render_path_linux=request.form['render_path_linux'],
            render_path_win=request.form['render_path_win'],
            render_path_osx=request.form['render_path_osx'],
            is_active=request.form['set_project_option'])
        http_server_request('post', '/projects', params)
        return redirect(url_for('projects.index'))
    else:
        projects = http_server_request('get', '/projects')
        settings = http_server_request('get', '/settings')
        return render_template('projects/add_modal.html',
                        settings=settings,
                        projects=projects)
Ejemplo n.º 22
0
def jobs_browse(path):
    if len(path) > 0:
        path = os.path.join('/browse', path)
    else:
        path = "/browse"
    path_data = http_server_request('get', path)
    path_data_sorted = sorted(path_data['items_list'], key=lambda p: p[0])
    return render_template(
        'browse_modal.html',
        # items=path_data['items'],
        items_list=path_data_sorted,
        parent_folder=path_data['parent_path'])
Ejemplo n.º 23
0
def add():
    if request.method == 'POST':
        job_values = {
            'project_id': request.form['project_id'],
            'job_name': request.form['job_name'],
            'frame_start': request.form['frame_start'],
            'frame_end': request.form['frame_end'],
            'chunk_size': request.form['chunk_size'],
            'current_frame': request.form['frame_start'],
            'filepath': request.form['filepath'],
            'render_settings': request.form['render_settings'],
            'format' : request.form['format'],
            'status': 'stopped',
            'priority': 10,
            'managers' : request.form.getlist('managers'),
            'job_type' : request.form['job_type'],
            'owner': 'fsiddi'
        }

        http_server_request('post', '/jobs', job_values)
        return redirect(url_for('jobs.index'))
    else:
        render_settings = http_server_request('get', '/settings/render')
        projects = http_server_request('get', '/projects')
        settings = http_server_request('get', '/settings')
        managers = http_server_request('get', '/managers')
        return render_template('jobs/add_modal.html',
                            render_settings=render_settings,
                            settings=settings,
                            projects=projects,
                            managers=filter(lambda m : m['connection'] == 'online',
                                            managers.values()))
Ejemplo n.º 24
0
def add():
    if request.method == "POST":
        job_values = {
            "project_id": request.form["project_id"],
            "job_name": request.form["job_name"],
            "frame_start": request.form["frame_start"],
            "frame_end": request.form["frame_end"],
            "chunk_size": request.form["chunk_size"],
            "current_frame": request.form["frame_start"],
            "filepath": request.form["filepath"],
            "render_settings": request.form["render_settings"],
            "format": request.form["format"],
            "status": "waiting",
            "priority": 10,
            "managers": request.form.getlist("managers"),
            "job_type": request.form["job_type"],
            "owner": "fsiddi",
        }

        http_server_request("post", "/jobs", job_values)
        return redirect(url_for("jobs.index"))
    else:
        render_settings = http_server_request("get", "/settings/render")
        projects = http_server_request("get", "/projects")
        settings = http_server_request("get", "/settings")
        managers = http_server_request("get", "/managers")
        return render_template(
            "jobs/add_modal.html",
            render_settings=render_settings,
            settings=settings,
            projects=projects,
            managers=filter(lambda m: m["connection"] == "online", managers.values()),
        )
Ejemplo n.º 25
0
def add():
    if request.method == 'POST':
        job_values = {
            'project_id': request.form['project_id'],
            'job_name': request.form['job_name'],
            'frame_start': request.form['frame_start'],
            'frame_end': request.form['frame_end'],
            'chunk_size': request.form['chunk_size'],
            'current_frame': request.form['frame_start'],
            'filepath': request.form['filepath'],
            'render_settings': request.form['render_settings'],
            'format': request.form['format'],
            'status': 'waiting',
            'priority': 10,
            'managers': request.form.getlist('managers'),
            'job_type': request.form['job_type'],
            'owner': 'fsiddi'
        }

        http_server_request('post', '/jobs', job_values)
        return redirect(url_for('jobs.index'))
    else:
        render_settings = http_server_request('get', '/settings/render')
        projects = http_server_request('get', '/projects')
        settings = http_server_request('get', '/settings')
        managers = http_server_request('get', '/managers')
        return render_template('jobs/add_modal.html',
                               render_settings=render_settings,
                               settings=settings,
                               projects=projects,
                               managers=filter(
                                   lambda m: m['connection'] == 'online',
                                   managers.values()))
Ejemplo n.º 26
0
def jobs_browse(path):
    if len(path) > 0:
        path = os.path.join("/browse", path)
    else:
        path = "/browse"
    path_data = http_server_request("get", path)
    path_data_sorted = sorted(path_data["items_list"], key=lambda p: p[0])
    return render_template(
        "browse_modal.html",
        # items=path_data['items'],
        items_list=path_data_sorted,
        parent_folder=path_data["parent_path"],
    )
Ejemplo n.º 27
0
def index():
    jobs = http_server_request('get', '/jobs')
    jobs_list = []

    for key, val in jobs.iteritems():

        remaining_time = val['remaining_time']
        if not remaining_time:
            remaining_time = '-'
        else:
            remaining_time = seconds_to_time(remaining_time)
        average_time = val['average_time']
        if not average_time:
            average_time = '-'
        else:
            average_time = seconds_to_time(average_time)
        total_time = val['total_time']
        if not total_time:
            total_time = '-'
        else:
            total_time = seconds_to_time(total_time)
        job_time = val['job_time']
        if job_time:
            total_time = "{0} ({1})".format(total_time, seconds_to_time(job_time))

        val['checkbox'] = '<input type="checkbox" value="' + key + '" />'
        jobs_list.append({
            "DT_RowId" : "job_" + str(key),
            "0" : val['checkbox'],
            "1" : key,
            "2" : 'http://{0}/jobs/thumbnails/{1}s'.format(BRENDER_SERVER, key),
            "3" : val['job_name'],
            "4" : val['percentage_done'],
            "5" : remaining_time,
            "6" : average_time,
            "7" : total_time,
            "8" : val['activity'],
            "9" : val['status'],
            "10" : None,
            "11" : val['creation_date'],
            "12" : val['priority']
            })

    jobs_list = sorted(jobs_list, key=lambda x: x['1'])
    entries = json.dumps(jobs_list)

    return render_template('jobs/index.html', entries=entries, title='jobs')
Ejemplo n.º 28
0
def update(project_id):

    params = dict(
        path_server=request.form['path_server'],
        path_linux=request.form['path_linux'],
        path_win=request.form['path_win'],
        path_osx=request.form['path_osx'],
        render_path_server=request.form['render_path_server'],
        render_path_linux=request.form['render_path_linux'],
        render_path_win=request.form['render_path_win'],
        render_path_osx=request.form['render_path_osx'])

    projects = http_server_request('put', '/projects/' + project_id, params)
    print projects
    # http_server_request('get', '/projects/update', params)

    return redirect(url_for('projects.index'))
Ejemplo n.º 29
0
def tasks_index():
    tasks = http_server_request('get', '/tasks')
    tasks_list = []

    for key, val in tasks.iteritems():
        val['checkbox'] = '<input type="checkbox" value="' + key + '" />'
        tasks_list.append({
            "DT_RowId": "worker_" + str(key),
            "0": val['checkbox'],
            "1": key,
            "2": val['percentage_done'],
            "3": val['priority'],
            "4": val['status']
        })
        #print(v)

    entries = json.dumps(tasks_list)

    return render_template('tasks.html', entries=entries, title='tasks')
Ejemplo n.º 30
0
def view_json(task_id):
    task = http_server_request('get', '/tasks/{0}'.format(task_id))
    # We check if we are asking to download the full log for the task
    is_log_download = request.args.get('log_dl')
    if is_log_download and task['log']:
        log = task['log']
        response = make_response(log)
        # Set the right header for the response to be downloaded, instead
        # of just printed on the browser
        filename_string = "attachment; filename=log_task_{0}.txt".format(task['id'])
        response.headers["Content-Disposition"] = filename_string
        return response

    elif task['log']:
        # If there is a log but we are not downloadig it, we trim it and append
        # the link to dowload the whole file
        log_trimmed = task['log'][-256:]
        log_trimmed = "{0} <a href=\"{1}\">Download</a>".format(log_trimmed, url_for('tasks.view_json', task_id=task['id'], log_dl=True))
        task['log'] = log_trimmed

    return jsonify(task)
Ejemplo n.º 31
0
def index():
    workers = http_server_request('get', '/workers')
    workers_list = []

    for key, val in workers.iteritems():
        val['checkbox'] = '<input type="checkbox" value="' + str(val['id']) + ';' + str(val['manager_id']) + '"/>'
        workers_list.append({
            "DT_RowId": "worker_" + str(val['id']),
            "0": val['checkbox'],
            "1": key,
            "2": val['system'],
            "3": val['ip_address'],
            "4": val['connection'],
            "5": val['status'],
            "6": val['id'],
            "7": val['activity'],
            "8": val['manager_id'],
        })

    entries = json.dumps(workers_list)

    return render_template('workers/index.html', entries=entries, title='workers')
Ejemplo n.º 32
0
def index():
    managers = http_server_request('get', '/managers')
    managers_list = []

    for key in managers:
        val = managers[key]
        val['checkbox'] = '<input type="checkbox" value="' \
            + str(val['id']) + ';' + str(val['id']) + '"/>'
        managers_list.append({
            "DT_RowId": "manager_" + str(val['id']),
            "0": val['checkbox'],
            "1": key,
            "2": val['host'],
            "3": val['ip_address'],
            "4": val['connection'],
            "5": val['id'],
        })

    entries = json.dumps(managers_list)

    return render_template('managers/index.html',
                           entries=entries,
                           title='managers')
Ejemplo n.º 33
0
def view_json(task_id):
    task = http_server_request('get', '/tasks/{0}'.format(task_id))
    # We check if we are asking to download the full log for the task
    is_log_download = request.args.get('log_dl')
    if is_log_download and task['log']:
        log = task['log']
        response = make_response(log)
        # Set the right header for the response to be downloaded, instead
        # of just printed on the browser
        filename_string = "attachment; filename=log_task_{0}.txt".format(task['id'])
        response.headers["Content-Disposition"] = filename_string
        return response

    elif task['log']:
        # If there is a log but we are not downloadig it, we trim it and append
        # the link to dowload the whole file
        log_trimmed = task['log'][-256:]
        log_trimmed = "{0} <a href=\"{1}\">Download</a>".format(
            log_trimmed,
            url_for('tasks.view_json', task_id=task['id'], log_dl=True))
        task['log'] = log_trimmed

    return jsonify(task)
Ejemplo n.º 34
0
def index():
    workers = http_server_request('get', '/workers')
    workers_list = []

    for key, val in workers.iteritems():
        val['checkbox'] = '<input type="checkbox" value="' + str(
            val['id']) + ';' + str(val['manager_id']) + '"/>'
        workers_list.append({
            "DT_RowId": "worker_" + str(val['id']),
            "0": val['checkbox'],
            "1": key,
            "2": val['system'],
            "3": val['ip_address'],
            "4": val['connection'],
            "5": val['status'],
            "6": val['id'],
            "7": val['activity'],
        })

    entries = json.dumps(workers_list)

    return render_template('workers/index.html',
                           entries=entries,
                           title='workers')
Ejemplo n.º 35
0
def job(job_id):
    job = http_server_request('get', '/jobs/{0}'.format(job_id))
    #Tasks
    job['thumbnail'] = 'http://%s/jobs/thumbnails/%s' % (FLAMENCO_SERVER, job_id)
    return render_template('jobs/view.html', job=job)
Ejemplo n.º 36
0
def view(worker_id):
    worker = http_server_request('get', '/workers/{0}'.format(worker_id))
    return render_template('workers/view.html', worker=worker)
Ejemplo n.º 37
0
def delete(project_id):
    http_server_request('delete', '/projects/' + project_id)
    #http_server_request('get', '/projects/delete/' + project_id)
    return redirect(url_for('projects.index'))
Ejemplo n.º 38
0
def view_json(job_id):
    job = http_server_request('get', '/jobs/{0}'.format(job_id))
    return jsonify(job)
Ejemplo n.º 39
0
def jobs_delete():
    job_ids = request.form['id']
    params = {'id': job_ids}
    jobs = http_server_request('post', '/jobs/delete', params)
    return 'done'
Ejemplo n.º 40
0
def view(manager_id):
    manager = http_server_request('get', '/managers/{0}'.format(manager_id))
    return render_template('managers/view.html', manager=manager)
Ejemplo n.º 41
0
def render():
    render_settings = http_server_request('get', '/settings/render')
    return render_template('settings/render.html',
                           title='render settings',
                           render_settings=render_settings)
Ejemplo n.º 42
0
def view(worker_id):
    worker = http_server_request('get', '/workers/{0}'.format(worker_id))
    return render_template('workers/view.html', worker=worker)
Ejemplo n.º 43
0
def index_json():
    """Generate DataTable-ready JSON with all non archived jobs. Accepts a 'pretty'
    argument that will pretty print the list.
    """

    # Check if we are requesting for a specific status (e.g. archived)
    if request.args.get('status'):
        jobs_route = "/jobs?status={0}".format(request.args.get('status'))
    else:
        jobs_route = '/jobs'

    jobs = http_server_request('get', jobs_route)
    jobs_list = []

    for key, val in jobs.iteritems():

        remaining_time = val['time_remaining']
        if not remaining_time:
            remaining_time = '-'
        else:
            remaining_time = seconds_to_time(remaining_time)
        average_time = val['time_average']
        if not average_time:
            average_time = '-'
        else:
            average_time = seconds_to_time(average_time)
        total_time = val['time_total']
        if not total_time:
            total_time = '-'
        else:
            total_time = seconds_to_time(total_time)
        job_time = None
        if job_time:
            total_time = "{0} ({1})".format(total_time,
                                            seconds_to_time(job_time))

        time_elapsed = val['time_elapsed']
        if time_elapsed == None:
            time_elapsed = ''
        else:
            time_elapsed = seconds_to_time(time_elapsed)

        val['checkbox'] = '<input type="checkbox" value="' + key + '" />'
        jobs_list.append({
            'DT_RowId':
            'job_' + str(key),
            'checkbox':
            val['checkbox'],
            'job_id':
            key,
            'thumbnail':
            'http://{0}/jobs/thumbnails/{1}s'.format(FLAMENCO_SERVER, key),
            'name':
            val['job_name'],
            'percentage_done':
            val['percentage_done'],
            'time_remaining':
            remaining_time,
            'time_average':
            average_time,
            'time_total':
            total_time,
            'status':
            val['status'],
            'date_creation':
            val['creation_date'],
            'date_edit':
            val['date_edit'],
            'priority':
            val['priority'],
            'manager':
            val['manager'],
            'time_elapsed':
            time_elapsed,
            'tasks_status':
            val['tasks_status'],
            'username':
            val['username']
        })

    #jobs_list = sorted(jobs_list, key=lambda x: x['1'])

    # For debugging, if we add the pretty arg to the get request, we get a pretty
    # printed version of the jobs_list
    if request.args.get('pretty'):
        if request.args.get('pretty') == 'true':
            return jsonify(data=jobs_list)

    # Default json return
    jobs_list_dict = {'data': jobs_list}
    content = u"{0}".format(json.dumps(jobs_list_dict))
    return Response(content, mimetype='application/json')
Ejemplo n.º 44
0
def index():
    jobs = http_server_request('get', '/jobs')
    jobs_list = []

    def seconds_to_time(seconds):
        return str(datetime.timedelta(seconds=seconds))

    for key, val in jobs.iteritems():

        remaining_time = val['remaining_time']
        if not remaining_time:
            remaining_time = '-'
        else:
            remaining_time = seconds_to_time(remaining_time)
        average_time = val['average_time']
        if not average_time:
            average_time = '-'
        else:
            average_time = seconds_to_time(average_time)
        total_time = val['total_time']
        if not total_time:
            total_time = '-'
        else:
            total_time = seconds_to_time(total_time)
        job_time = val['job_time']
        if job_time:
            total_time = "{0} ({1})".format(total_time,
                                            seconds_to_time(job_time))

        val['checkbox'] = '<input type="checkbox" value="' + key + '" />'
        jobs_list.append({
            "DT_RowId":
            "job_" + str(key),
            "0":
            val['checkbox'],
            "1":
            key,
            "2":
            'http://{0}/jobs/thumbnails/{1}s'.format(BRENDER_SERVER, key),
            "3":
            val['job_name'],
            "4":
            val['percentage_done'],
            "5":
            remaining_time,
            "6":
            total_time,
            "7":
            average_time,
            "8":
            val['activity'],
            "9":
            val['status'],
            "10":
            None
        })

    jobs_list = sorted(jobs_list, key=lambda x: x['1'])
    entries = json.dumps(jobs_list)

    return render_template('jobs/index.html', entries=entries, title='jobs')
Ejemplo n.º 45
0
def jobs_delete():
    job_ids = request.form['id']
    params = {'id': job_ids}
    jobs = http_server_request('post', '/jobs/delete', params)
    return 'done'
Ejemplo n.º 46
0
def render():
    render_settings = http_server_request('get', '/settings/render')
    return render_template('settings/render.html',
                           title='render settings',
                           render_settings=render_settings)
Ejemplo n.º 47
0
def index_json():
    """Generate DataTable-ready JSON with all non archived jobs. Accepts a 'pretty'
    argument that will pretty print the list.
    """

    # Check if we are requesting for a specific status (e.g. archived)
    if request.args.get('status'):
        jobs_route = "/jobs?status={0}".format(request.args.get('status'))
    else:
        jobs_route = '/jobs'

    jobs = http_server_request('get', jobs_route)
    jobs_list = []

    for key, val in jobs.iteritems():

        remaining_time = val['time_remaining']
        if not remaining_time:
            remaining_time = '-'
        else:
            remaining_time = seconds_to_time(remaining_time)
        average_time = val['time_average']
        if not average_time:
            average_time = '-'
        else:
            average_time = seconds_to_time(average_time)
        total_time = val['time_total']
        if not total_time:
            total_time = '-'
        else:
            total_time = seconds_to_time(total_time)
        job_time = None
        if job_time:
            total_time = "{0} ({1})".format(total_time, seconds_to_time(job_time))

        time_elapsed = val['time_elapsed']
        if time_elapsed == None:
            time_elapsed = ''
        else:
            time_elapsed = seconds_to_time(time_elapsed)


        val['checkbox'] = '<input type="checkbox" value="' + key + '" />'
        jobs_list.append({
            'DT_RowId' : 'job_' + str(key),
            'checkbox' : val['checkbox'],
            'job_id' : key,
            'thumbnail' : 'http://{0}/jobs/thumbnails/{1}s'.format(FLAMENCO_SERVER, key),
            'name' : val['job_name'],
            'percentage_done' : val['percentage_done'],
            'time_remaining' : remaining_time,
            'time_average' : average_time,
            'time_total' : total_time,
            'status' : val['status'],
            'date_creation' : val['creation_date'],
            'priority' : val['priority'],
            'manager': val['manager'],
            'time_elapsed': time_elapsed
            })

    #jobs_list = sorted(jobs_list, key=lambda x: x['1'])

    # For debugging, if we add the pretty arg to the get request, we get a pretty
    # printed version of the jobs_list
    if request.args.get('pretty'):
        if request.args.get('pretty') == 'true':
            return jsonify(data=jobs_list)


    # Default json return
    jobs_list_dict = {'data': jobs_list}
    content = u"{0}".format(json.dumps(jobs_list_dict))
    return Response(content, mimetype='application/json')
Ejemplo n.º 48
0
def edit_status(task_id):
    params = {"status": request.form['status']}
    task = http_server_request('put', '/tasks/{0}/status'.format(task_id), params)
    return task
Ejemplo n.º 49
0
def view(manager_id):
    manager = http_server_request('get', '/managers/{0}'.format(manager_id))
    return render_template('managers/view.html', manager=manager)
Ejemplo n.º 50
0
def job(job_id):
    job = http_server_request('get', '/jobs/{0}'.format(job_id))
    #Tasks
    job['thumbnail'] = 'http://%s/jobs/thumbnails/%s' % (FLAMENCO_SERVER,
                                                         job_id)
    return render_template('jobs/view.html', job=job)