-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest.py
More file actions
executable file
·91 lines (76 loc) · 2.75 KB
/
test.py
File metadata and controls
executable file
·91 lines (76 loc) · 2.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#!/usr/bin/env python3
"""
"""
import os
from glob import glob
import argparse
import ninja
from diffenator2 import ninja_proof, ninja_diff
from diffenator2.font import DFont
from diffenator2.utils import (
download_google_fonts_family,
download_latest_github_release,
)
import sys
parser = argparse.ArgumentParser()
parser.add_argument("--github-token", required=True)
parser.add_argument("--path", required=True, nargs="+")
parser.add_argument(
"--fetch-before", choices=("none", "googlefonts", "github-release"), default="none"
)
parser.add_argument("--repo", default="none")
parser.add_argument("--path-before", default="none")
parser.add_argument("--diffenator", default="false")
parser.add_argument("--diffbrowsers", default="false")
parser.add_argument("--user-wordlist", default="none")
parser.add_argument("--filter-styles", default="none")
parser.add_argument("--pt-size", "-pt", type=int, default=20)
parser.add_argument("--out", default="screenshots")
parser.add_argument("--threshold", default=0.90, type=float)
args = parser.parse_args()
args.filter_styles = None if args.filter_styles == "none" else args.filter_styles
out = os.path.abspath(args.out)
if not os.path.exists(out):
os.mkdir(out)
dfonts = [DFont(os.path.abspath(f)) for f in args.path]
family_name = dfonts[0].family_name
out = os.path.join(out, family_name.replace(" ", "-"))
# User just wants proofs
if args.path_before == "none":
ninja_proof(
dfonts,
out=out,
imgs=True,
filter_styles=args.filter_styles,
pt_size=args.pt_size
)
sys.exit(0)
# get fonts before
if args.path_before != "none" and args.fetch_before == "none":
raise ValueError("--fetch-before flag required since path_before is provided")
if args.fetch_before == "googlefonts":
files_before = download_google_fonts_family(family_name, "files_before")
elif args.fetch_before == "github-release":
if args.repo == "none":
raise ValueError("--repo flag required e.g 'googlefonts/gulzar'")
user, repo = args.repo.split("/")
files_before = download_latest_github_release(
user, repo, "files_before", args.github_token
)
fonts_before = glob(os.path.join("files_before", args.path_before))
dfonts_before = [DFont(os.path.abspath(f)) for f in fonts_before]
args.diffbrowsers = True if args.diffbrowsers == "true" else False
args.diffenator = True if args.diffenator == "true" else False
args.user_wordlist = None if args.user_wordlist == "none" else args.user_wordlist
ninja_diff(
dfonts_before,
dfonts,
diffenator=args.diffenator,
diffbrowsers=args.diffbrowsers,
out=os.path.abspath(out),
imgs=True,
user_wordlist=args.user_wordlist,
filter_styles=args.filter_styles,
pt_size=args.pt_size,
threshold=args.threshold,
)