]> git.ipfire.org Git - thirdparty/google/fonts.git/commitdiff
.ci/test_font_tags.py added 8041/head
authorMarc Foley <m.foley.88@gmail.com>
Fri, 16 Aug 2024 13:23:36 +0000 (14:23 +0100)
committerMarc Foley <m.foley.88@gmail.com>
Fri, 16 Aug 2024 13:26:30 +0000 (14:26 +0100)
.ci/test_font_tags.py [new file with mode: 0644]
.github/workflows/font_tags.yaml

diff --git a/.ci/test_font_tags.py b/.ci/test_font_tags.py
new file mode 100644 (file)
index 0000000..7263e0f
--- /dev/null
@@ -0,0 +1,33 @@
+import json
+from urllib.request import urlopen
+import sys
+
+dev_data = json.loads(
+    urlopen("https://fonts.google.com/metadata/fonts").read().decode("utf-8")
+)
+dev_families = set(f["family"] for f in dev_data["familyMetadataList"])
+
+csv_data = (
+    urlopen("https://raw.githubusercontent.com/google/fonts/main/tags/all/families.csv")
+    .read()
+    .decode("utf-8")
+)
+csv_families = set(
+    line.split(",")[0]
+    for line in csv_data.split("\n")
+    if line
+    if line.split(",")[0] != "Family"
+)
+
+families_missing_tags = sorted(dev_families - csv_families)
+
+if families_missing_tags:
+    missing_list = "\n".join(families_missing_tags)
+    raise ValueError(
+        f"The following {len(families_missing_tags)} families are missing tags:\n\n"
+        f"{missing_list}\n\n"
+        "Please add tags for these families using the following webapp: "
+        "https://google.github.io/fonts/tags.html"
+    )
+
+sys.exit(0)
index 8e761cedddec2ffd69259ec9facb482bc64fafdf..371dcb74d7445866120d7a07eccbf32339a91d30 100644 (file)
@@ -1,5 +1,5 @@
-# Check font tagging spreadsheet is correctly structured
-name: Font tagging structure
+# Check font tags
+name: Check font tags
 
 on:
   push:
@@ -19,9 +19,6 @@ jobs:
       with:
         python-version: "3.10"
 
-    # Check font tags data is correct
-    - name: Install gftools
-      run: pip install gftools[qa]
-    - name: Test font tagging spreadsheet
+    - name: Check font tags
       run: |
-        gftools font-tags lint .
\ No newline at end of file
+        python .ci/test_font_tags.py
\ No newline at end of file