11#!/usr/bin/env python3
22"""
3- Script is too complicated to be a simple bash script.
43"""
54import os
65from fontTools .ttLib import TTFont
7- from gftools .html import HtmlProof , HtmlDiff
8- from gftools .utils import font_familyname , download_family_from_Google_Fonts
96from glob import glob
107import argparse
11- from pkg_resources import resource_filename
8+ from diffenator import run_proofing_tools , run_diffing_tools
9+ from diffenator .utils import (
10+ download_googlefonts_release_archive ,
11+ download_latest_github_release_archive ,
12+ )
1213
1314
1415parser = argparse .ArgumentParser ()
1516parser .add_argument ("--paths" , nargs = "+" , required = True )
16- parser .add_argument ("--pt_size" , default = 16 )
1717parser .add_argument ("--fonts_before" , default = "none" )
18- parser .add_argument ("--width" , type = int , default = 1280 )
19- parser .add_argument ("--out" , default = "screenshots" )
20- parser .add_argument ("--template_dir" , default = "none" )
18+ parser .add_argument ("--out" , default = os .path .abspath ("screenshots" ))
2119args = parser .parse_args ()
2220
2321
24- template_dir = args .template_dir if args .template_dir != "none" else resource_filename ("gftools" , "templates" )
25-
2622os .mkdir (args .out )
2723
24+
2825for font_dir in args .paths :
2926 fonts = glob (os .path .join (font_dir , "*.ttf" ))
30- ttFont = TTFont (fonts [ 0 ])
31- family_name = font_familyname ( ttFont )
27+ ttFonts = [ TTFont (f ) for f in fonts ]
28+ family_name = ttFonts [ 0 ][ "name" ]. getBestFamilyName ( )
3229 out = os .path .join (args .out , family_name )
3330
3431 # User just wants proofs
3532 if args .fonts_before == "none" :
36- html = HtmlProof (
37- fonts ,
38- out = out ,
39- template_dir = template_dir ,
40- selenium_screenshots = True ,
41- )
33+ run_proofing_tools (ttFonts , out = out , imgs = True )
4234 else :
4335 # User wants to diff against Google Fonts
36+ fonts_before_fp = "fonts_before"
4437 if args .fonts_before == "google-fonts" :
45- os .mkdir ("fonts_before" )
46- fonts_before = download_family_from_Google_Fonts (
47- family_name ,
48- "fonts_before"
38+ gf_archive = download_googlefonts_release_archive (
39+ family_name , "fonts_before"
4940 )
50- html = HtmlDiff (
51- fonts_before ,
52- fonts ,
53- out = out ,
54- template_dir = template_dir ,
55- selenium_screenshots = True
56- )
57-
58- html .build_pages (pt_size = args .pt_size )
59- html .save_imgs (width = args .width )
41+ else :
42+ user , repo = args .fonts_before .split ("/" )
43+ gf_archive = download_latest_github_release_archive (
44+ user ,
45+ repo ,
46+ fonts_before_fp ,
47+ os .environ ["GITHUB_TOKEN" ] or os .environ ["GH_TOKEN" ],
48+ )
49+ ttFonts_before = [
50+ TTFont (f ) for f in glob (os .path .join (fonts_before_fp , "*.ttf" ))
51+ ]
52+ import pdb
53+ pdb .set_trace ()
54+ run_diffing_tools (ttFonts_before , ttFonts , out = out , imgs = True )
0 commit comments