示例#1
0
def rfiles(user, p, build_id):
    b = ProjectBuild.query.filter_by(id=build_id, project=p).first_or_404()

    if not b.is_done:
        return redirect(url_for("project.log", username=user.login, project_id=p.id, build_id=b.id))

    yaml = p.read_asset("yaml")
    f = project_fontaine(user, p, b)
    tree = b.files()

    fonts = []
    for k, v in tree.items():
        if k.endswith(".ttf"):
            fonts.append(os.path.join(b.path, k))

    ttftablesizes = get_fonts_table_sizes(fonts)

    from scripts.vmet import metricview

    return render_template(
        "project/rfiles.html",
        project=p,
        yaml=yaml,
        fontaineFonts=f,
        build=b,
        tree=tree,
        ttftablesizes=ttftablesizes,
        get_orthography=get_orthography,
        vmettable=metricview(fonts),
    )
示例#2
0
def fix_metrics(path, log=None):
    """ Fix vmet table with actual min and max values """
    SCRIPTPATH = os.path.join(app.config['ROOT'], 'scripts', 'vmet.py')

    from checker.metadata import FamilyMetadata
    family_metadata = FamilyMetadata(json.load(open(path)))

    paths = []
    for f in family_metadata.fonts:
        path = op.join(op.dirname(path), f.filename)
        paths.append(path)

    command = "{0} {1} --autofix {2}"
    command = command.format(PYPATH, SCRIPTPATH, ' '.join(paths))
    logging(log, command)

    metricfix(paths)

    for font_path in paths:
        shutil.move(font_path + '.fix', font_path, log=log)

    command = "{0} {1} {2}".format(PYPATH, SCRIPTPATH, ' '.join(paths))
    logging(log, command)
    log.write(metricview(paths))