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), )
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))