Source code for abed.html.index

# -*- coding: utf-8 -*-

"""

This file generates the index.html file, using Bootstrap

"""

import dominate
import os

from .common import navbar
from .utils import AbedHTMLTypes, copy_data_file
from ..conf import settings
from ..tasks import init_tasks
from ..io import info

tags = dominate.tags


[docs]def create_index_html(task_dict): idx = generate_index_html(task_dict) write_index_html(idx)
[docs]def get_status_perc(task_dict): all_tasks = init_tasks() done = len(all_tasks) - len(task_dict) perc = float(done) / float(len(all_tasks)) * 100.0 return int(round(perc))
[docs]def generate_index_html(task_dict): doc = dominate.document(title="ABED Main page") with doc.head: # meta tags tags.meta(charset="utf-8") tags.meta(http_equiv="X-UA-Compatible", content="IE=edge") tags.meta( name="viewport", content="width=device-width, initial-scale=1" ) tags.meta(name="description", content="") tags.meta(name="author", content="") # tags.link(rel='icon', href=copy_data_file('ABED/images/favicon.ico')) # JQuery & Bootstrap JS tags.comment("Bootstrap core JavaScript") tags.script(src=copy_data_file("jquery/1.11.3/jquery.min.js")) tags.script( src=copy_data_file("bootstrap-3.3.5-dist/js/bootstrap.min.js") ) # Bootstrap core CSS tags.link( rel="stylesheet", href=copy_data_file("bootstrap-3.3.5-dist/css/bootstrap.min.css"), ) # ABED CSS tags.link(rel="stylesheet", href=copy_data_file("abed/css/abed.css")) with doc: navbar(active=AbedHTMLTypes.INDEX) with tags.div(_class="container"): with tags.div(_class="abed-title"): tags.h1( "ABED Results Overview for project %s" % settings.PROJECT_NAME ) tags.p("Percentage of tasks completed:") with tags.div(_class="progress"): perc = str(get_status_perc(task_dict)) tags.div( "%s%%" % perc, _class="progress-bar", role="progressbar", aria_valuenow=perc, aria_minvalue="0", aria_maxvalue="100", style="width: %s%%;" % perc, ) tags.comment("/.container") return str(doc)
[docs]def write_index_html(doc): fname = "%s%s%s%s%s" % ( settings.OUTPUT_DIR, os.sep, "html", os.sep, "index.html", ) with open(fname, "w") as fid: fid.write(doc) info("Created output file: %s" % fname)