diff options
| author | Yasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com> | 2026-09-24 00:26:12 +0900 |
|---|---|---|
| committer | Yasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com> | 2026-09-24 00:26:12 +0900 |
| commit | b3997405d91239eac82c631d18a48b13181e2820 (patch) | |
| tree | c11ed450298db62f0b7344b7d78e040ff245c122 /scripts/make-flow-pdfs.py | |
| parent | 2626af3eb33d5bf61a38be34c12988d5f90bca99 (diff) | |
フロー図: 「最終更新」日を自動で入れるようにし、版番号をやめる
版番号(第1版)は内容を変えても手で上げないと古いままになるため、やめた。
代わりに、図の右上の日付を scripts/stamp-flow-version.py が git の履歴から自動で入れるようにした。図の内容を最後に変えた日(未コミットの変更があれば今日)になる。
make-flow-simple.py と make-flow-pdfs.py は、この処理を先に走らせてから成果物を作る。PDFのメタデータの版情報も、SVGの日付から取るようにした。
ページの「改変を認めていない理由」の記述も、版番号から最終更新日の説明に直した。
Diffstat (limited to 'scripts/make-flow-pdfs.py')
| -rw-r--r-- | scripts/make-flow-pdfs.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/scripts/make-flow-pdfs.py b/scripts/make-flow-pdfs.py index 70ad495..e9f7942 100644 --- a/scripts/make-flow-pdfs.py +++ b/scripts/make-flow-pdfs.py @@ -16,6 +16,7 @@ base は SVG の元の高さ(リンク行を追記する前の値)。SVG の """ import pathlib import re +import subprocess import sys import pymupdf @@ -49,8 +50,14 @@ LIC_PUBLIC = ("© 安竹洋平(小平市議会議員)/公立版・私立ç‰ # 私立版と簡易版には課題欄がないので、その但し書きは入れない LIC_NO_KADAI = ("© 安竹洋平(小平市議会議員)/公立版・私立版とも CC BY-ND 4.0" "(切り取り可・無保証)/yasutakeyohei.com/ijime-judai-jitai/flow/") -# 図に合わせた版の情報(PDFのメタデータにも入れる) -EDITION = "第1版(令和8年9月23日)" +# 版の情報は、SVGの右上の「最終更新:…」から取る(stamp-flow-version.py が入れる) +EDITION_RE = re.compile(r'x="1796" y="56"[^>]*>([^<]*)</text>') + + +def edition_of(svg_name): + """SVGの右上の「最終更新:…」を、PDFのメタデータ用に取り出す。""" + m = EDITION_RE.search((IMAGES / svg_name).read_text(encoding="utf-8")) + return m.group(1) if m else "" # (SVGファイル名, 出力の6ページ版, 出力の1ページ版, SVGの元の高さ, フッターのライセンス, 版の名前) JOBS = [ @@ -131,9 +138,9 @@ def build(svg_name, out_6p, out_1p, base_h, license_text, label): out.set_metadata({ "title": f"{TITLE}({label})", "author": "安竹洋平(小平市議会議員)", - "subject": (f"{EDITION}。CC BY-ND 4.0(表示—改変禁止)。公立学校版・私立学校版とも同じライセンス。" + "subject": (f"{edition_of(svg_name)}。CC BY-ND 4.0(表示—改変禁止)。公立学校版・私立学校版とも同じライセンス。" "出典 https://yasutakeyohei.com/ijime-judai-jitai/flow/"), - "keywords": f"いじめ重大事態, フロー図, {label}, {EDITION}, CC BY-ND 4.0, 安竹洋平, 小平市", + "keywords": f"いじめ重大事態, フロー図, {label}, {edition_of(svg_name)}, CC BY-ND 4.0, 安竹洋平, 小平市", "creator": "https://yasutakeyohei.com/ijime-judai-jitai/flow/", }) out.subset_fonts() @@ -149,5 +156,8 @@ def build(svg_name, out_6p, out_1p, base_h, license_text, label): src.close() +# 「最終更新」の日付を先に更新してから、PDFを作る +subprocess.run([sys.executable, "scripts/stamp-flow-version.py"], check=True) + for svg_name, out_6p, out_1p, base_h, license_text, label in JOBS: build(svg_name, out_6p, out_1p, base_h, license_text, label) |
