Rechtstexte: PDF-Bau für Fassung 6 (Modi abo6 und funktionen6, nach Freigabe)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
b4b18792c3
commit
99d7e2bdca
2 files changed
+72
-2
No files matched your search
@@ -15,6 +15,11 @@
|
||||
# auftraege = Widerrufsbelehrung der Projektauftraege (Fassung TEXTE_VERSION, Standard: TEXTE_FASSUNG aus server/services/auftraege/texte.js) und AGB
|
||||
# (Fassung AGB_VERSION, Standard: AGB_FASSUNG aus server/services/auftraege/konstanten.js); die HTML-Seiten kommen vorher aus
|
||||
# `node scripts/build-legal-html.mjs auftraege`, Pruefsumme und Neudruck wie bei termine und shop. `all` druckt auch diese beiden PDFs.
|
||||
# abo6 = Abo-Bedingungen Fassung 6 (public/neu/rechtliches/abo-bedingungen.html -> WEBklar-Abo-Vertragsunterlagen.pdf daneben, <PDF>.sha256 mit der SHA-256 der
|
||||
# Seite, Neudruck nur bei geaenderter Seite, FORCE=1 druckt neu). Entwurf; erst nach der Freigabe drucken, vorher `free -m`, mit `nice`. `all` druckt diese Datei nicht.
|
||||
# funktionen6 = die zehn Funktionsunterlagen der Fassung 6 (Leistungsbeschreibungen und AVV, Fassung FUNKTIONEN6_VERSION, Standard: FUNKTIONEN_FASSUNG_V6 aus
|
||||
# server/services/products.js) aus public/neu/rechtliches/<slug>-<Fassung>.html nach <slug>-<Fassung>.pdf; die HTML-Seiten kommen vorher aus
|
||||
# `node scripts/build-legal-html.mjs funktionen6`, Pruefsumme und Neudruck wie bei abo6. Entwurf; erst nach der Freigabe drucken, vorher `free -m`, mit `nice`.
|
||||
# datenschutz = nur die Datenschutzerklaerung (docs/WEBklar-Datenschutzerklaerung.pdf); daneben liegt <PDF>.sha256 mit der SHA-256 von
|
||||
# public/datenschutz.html (test/legalTexts.test.js prueft sie); ein PDF mit passender Pruefsumme wird nicht neu gedruckt (FORCE=1 druckt neu)
|
||||
# Vorher `free -m` pruefen und mit `nice` aufrufen; jeder Chrome-Aufruf laeuft hoechstens 120 Sekunden (timeout), die PDFs nacheinander.
|
||||
@@ -82,6 +87,16 @@ agb_version() {
|
||||
echo "$v"
|
||||
}
|
||||
|
||||
# Fassung der Funktionsunterlagen 6: FUNKTIONEN6_VERSION, sonst FUNKTIONEN_FASSUNG_V6 aus server/services/products.js
|
||||
funktionen6_version() {
|
||||
local v="${FUNKTIONEN6_VERSION:-}"
|
||||
if [ -z "$v" ]; then
|
||||
v="$(timeout 60 node --max-old-space-size=256 --input-type=module -e "const { FUNKTIONEN_FASSUNG_V6 } = await import('./server/services/products.js'); console.log(FUNKTIONEN_FASSUNG_V6)")"
|
||||
fi
|
||||
[[ "$v" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]] || { echo "Ungueltige Fassung: $v" >&2; exit 1; }
|
||||
echo "$v"
|
||||
}
|
||||
|
||||
# Widerrufsbelehrung der Projektauftraege und AGB drucken (je PDF nur, wenn die Pruefsumme der HTML-Seite nicht mehr passt)
|
||||
auftraege_pdfs() {
|
||||
local texte agb eintrag slug fassung quelle ziel summe
|
||||
@@ -173,6 +188,36 @@ datenschutz)
|
||||
echo "$summe" > "$ziel.sha256"
|
||||
fi
|
||||
;;
|
||||
abo6)
|
||||
# Entwurf Fassung 6 der Abo-Bedingungen: Seite und PDF liegen im Vorschaupfad; erst nach der Freigabe drucken
|
||||
quelle="public/neu/rechtliches/abo-bedingungen.html"
|
||||
ziel="public/neu/rechtliches/WEBklar-Abo-Vertragsunterlagen.pdf"
|
||||
[ -f "$quelle" ] || { echo "HTML fehlt: $quelle"; exit 1; }
|
||||
summe="$(sha256sum "$quelle" | cut -d' ' -f1)"
|
||||
if [ -z "${FORCE:-}" ] && [ -f "$ziel" ] && [ "$(cat "$ziel.sha256" 2>/dev/null)" = "$summe" ]; then
|
||||
echo "= $ziel (unveraendert)"
|
||||
else
|
||||
pdf "$quelle" "$ziel"
|
||||
echo "$summe" > "$ziel.sha256"
|
||||
fi
|
||||
;;
|
||||
funktionen6)
|
||||
# Entwurf Fassung 6 der Funktionsunterlagen (zehn Seiten): Leistungsbeschreibungen und AVV, nacheinander, nie parallel
|
||||
fassung="$(funktionen6_version)"
|
||||
for slug in leistungsbeschreibung-news leistungsbeschreibung-terminplaner avv-terminplaner leistungsbeschreibung-webshop avv-webshop \
|
||||
leistungsbeschreibung-unterkunft avv-unterkunft leistungsbeschreibung-zeiten leistungsbeschreibung-website-analyse avv-website-analyse; do
|
||||
quelle="public/neu/rechtliches/$slug-$fassung.html"
|
||||
ziel="public/neu/rechtliches/$slug-$fassung.pdf"
|
||||
[ -f "$quelle" ] || { echo "HTML fehlt: $quelle (zuerst node scripts/build-legal-html.mjs funktionen6)"; exit 1; }
|
||||
summe="$(sha256sum "$quelle" | cut -d' ' -f1)"
|
||||
if [ -z "${FORCE:-}" ] && [ -f "$ziel" ] && [ "$(cat "$ziel.sha256" 2>/dev/null)" = "$summe" ]; then
|
||||
echo "= $ziel (unveraendert)"
|
||||
else
|
||||
pdf "$quelle" "$ziel"
|
||||
echo "$summe" > "$ziel.sha256"
|
||||
fi
|
||||
done
|
||||
;;
|
||||
all)
|
||||
pdf docs/leitfaden-empfehlungsgeber.html docs/WEBklar-Leitfaden-Empfehlungsgeber.pdf
|
||||
# Fassung 3 (public/WEBklar-Wartungs-Abo-Vertragsunterlagen.pdf, Archiv unter public/vertragsunterlagen/v3/) wird nicht neu erzeugt
|
||||
@@ -182,6 +227,6 @@ all)
|
||||
auftraege_pdfs
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 [all|analyse|termine|shop|unterkunft|datenschutz]"; echo " $0 auftraege (Widerrufsbelehrung der Projektauftraege und AGB)"; exit 1
|
||||
echo "Usage: $0 [all|analyse|termine|shop|unterkunft|datenschutz]"; echo " $0 auftraege (Widerrufsbelehrung der Projektauftraege und AGB)"; echo " $0 abo6|funktionen6 (Entwurf Fassung 6: Abo-Bedingungen bzw. Funktionsunterlagen, erst nach der Freigabe)"; exit 1
|
||||
;;
|
||||
esac
|
||||
Reference in new issue
Block a user