Ejemplo n.º 1
0
def test_get_assets_from_list_excludes_EXCLUDE_LIBS():
    core.config['EXCLUDE_LIBS'] = ["not_this_one.css"]
    asset_uri_base = "/server/here/"
    css_files = ["this_one.css", "not_this_one.css"]
    css_assets = core.get_assets_from_list(asset_uri_base, 'css', css_files)
    assert len(css_assets) == 1
    assert "not_this_one.css" not in css_assets
Ejemplo n.º 2
0
def render_html(fp, src=None):
    """Render a tabular file to html
    :param fp: file pointer object
    :return: RenderResult object containing html and assets
    """

    columns, rows = populate_data(fp)

    max_size = config['max_size']
    table_width = config['table_width']
    table_height = config['table_height']

    if len(columns) > max_size or len(rows) > max_size:
        raise TableTooBigException("Table is too large to render.")

    if len(columns) < 1 or len(rows) < 1:
        raise EmptyTableException("Table is empty or corrupt.")

    table_size = 'small_table' if len(columns) < 9 else 'big_table'
    slick_grid_options = config.get('slick_grid_options').get(table_size)

    HERE = os.path.dirname(os.path.abspath(__file__))
    filename = os.path.join(HERE, 'templates', 'tabular.html')

    with open(filename) as template:
        content = template.read().format(
            width=table_width,
            height=table_height,
            columns=json.dumps(columns),
            rows=json.dumps(rows),
            writing="",
            options=json.dumps(slick_grid_options),
        )

    assets_uri_base = '{0}/mfr_tabular'.format(mfr.config['STATIC_URL'])
    assets = {
        'css': get_assets_from_list(assets_uri_base, 'css', CSS_ASSETS),
        'js': get_assets_from_list(assets_uri_base, 'js', JS_ASSETS),
    }

    return RenderResult(content=content, assets=assets)
Ejemplo n.º 3
0
def test_get_assets_from_list():
    js_files = ["test_file.js"]
    asset_uri_base = "/server/here/"
    js_assets = core.get_assets_from_list(asset_uri_base, 'js', js_files)
    assert js_assets == ["/server/here/js/test_file.js"]