aboutsummaryrefslogtreecommitdiff
path: root/bin/main.ml
diff options
context:
space:
mode:
Diffstat (limited to 'bin/main.ml')
-rw-r--r--bin/main.ml45
1 files changed, 33 insertions, 12 deletions
diff --git a/bin/main.ml b/bin/main.ml
index cf8cae2..b5d8d98 100644
--- a/bin/main.ml
+++ b/bin/main.ml
@@ -413,7 +413,18 @@ let readings_line ~lang ~sigla (d : (Rite_ef.Vocab_ef.season, Rite_ef.Vocab_ef.r
Task (celebrant-rubrics-phase1, Phase 2): a FIFTH column, whether the
Gloria in excelsis is said (EF: RG 431-432, {!Rite_ef.Rubrics_ef.gloria})
-- same [string_of_bool] convention as [creed], same plain [bool] with
- no [option] to guard, same reasoning throughout. *)
+ no [option] to guard, same reasoning throughout.
+
+ Task (celebrant-rubrics-phase1, Phase 3): a SIXTH column, which preface
+ is said (EF: RG 482-499, {!Rite_ef.Rubrics_ef.preface}) --
+ {!Colitur_kernel.Preface.to_string} (e.g. "common", "holy-cross"), or
+ "-" when [d.preface] is [None]. UNLIKE [creed]/[gloria], [preface] is a
+ genuine [option]: "-" here can mean either of two things ("this rite
+ has not implemented the rule" or "this specific day has no Mass to
+ preface", {!Colitur_kernel.Rite.t.preface}'s own citation) and this
+ column does not distinguish them, the same "-" convention [formulary]'s
+ own [None] case already uses two columns to the left, for the identical
+ reason. *)
let rubrics_line (d : (Rite_ef.Vocab_ef.season, Rite_ef.Vocab_ef.rank) Colitur_kernel.Liturgical_day.t)
=
let said, via =
@@ -426,9 +437,15 @@ let rubrics_line (d : (Rite_ef.Vocab_ef.season, Rite_ef.Vocab_ef.rank) Colitur_k
Colitur_kernel.Mass_formulary.source_to_string f.Colitur_kernel.Mass_formulary.via )
| None -> ("-", "-")
in
- Printf.printf "%s\t%s\t%s\t%s\t%s\n" (D.to_iso8601 d.Colitur_kernel.Liturgical_day.date) said via
+ let preface =
+ match d.Colitur_kernel.Liturgical_day.preface with
+ | Some p -> Colitur_kernel.Preface.to_string p
+ | None -> "-"
+ in
+ Printf.printf "%s\t%s\t%s\t%s\t%s\t%s\n" (D.to_iso8601 d.Colitur_kernel.Liturgical_day.date) said via
(string_of_bool d.Colitur_kernel.Liturgical_day.creed)
(string_of_bool d.Colitur_kernel.Liturgical_day.gloria)
+ preface
(* One civil year, Jan 1 - Dec 31, matching [temporal_report]'s own scan --
NOT one liturgical year: [Colitur_kernel.Calendar.year] resolves a single
@@ -1287,8 +1304,8 @@ output formats:
2026-04-05 sunday paschaltide 1 ef-easter-sunday class-1 white
readings date slug | Epistle | Gospel [| name]
2026-12-25 ef-nativity | Heb 1:1-12 | John 1:1-14
- rubrics date, formulary slug, source, creed, gloria -- TAB-separated
- 2026-01-01[TAB]ef-circumcision[TAB]own[TAB]true[TAB]true
+ rubrics date, formulary slug, source, creed, gloria, preface -- TAB-separated
+ 2026-01-01[TAB]ef-circumcision[TAB]own[TAB]true[TAB]true[TAB]nativity
A citation contains spaces, so readings uses " | " between its fields while
day stays space-separated; that is why they are separate commands rather
@@ -1305,16 +1322,20 @@ output formats:
(source: proper/own/preceding-sunday/common/votive) -- not always the
day's own: a weekday with no proper resumes the preceding Sunday's, a
saint with no proper says his assigned Common -- followed by whether the
- Creed is said (RG 475-476) and whether the Gloria in excelsis is said
+ Creed is said (RG 475-476), whether the Gloria in excelsis is said
(RG 431-432, deferring to the Breviary's own Te Deum rule, nn. 237-238,
- for RG 431(a)) -- both "true"/"false", OCaml's own literal, not
- "yes"/"no" or "1"/"0". TAB-separated rather than space or " | ": a
- resolved formulary NAME is a column a later version may add, and it can
- carry both spaces and punctuation a citation never does, which rules out
+ for RG 431(a)), and which preface is said (RG 482-499) -- Creed/Gloria
+ both "true"/"false", OCaml's own literal, not "yes"/"no" or "1"/"0";
+ preface one of nativity/epiphany/lent/holy-cross/easter/ascension/
+ sacred-heart/christ-the-king/holy-spirit/trinity/bvm/st-joseph/apostles/
+ common/requiem, or "-" when this engine resolves no Mass at all that day
+ (Good Friday). TAB-separated rather than space or " | ": a resolved
+ formulary NAME is a column a later version may add, and it can carry
+ both spaces and punctuation a citation never does, which rules out
either alternative already in use above. --overlay is accepted (the
- observed celebration it changes decides the formulary, the Creed and the
- Gloria); --lang/--raw/--sigla-* are refused -- this row resolves no
- display name and no citation for any of them to affect.
+ observed celebration it changes decides the formulary, the Creed, the
+ Gloria and the preface); --lang/--raw/--sigla-* are refused -- this row
+ resolves no display name and no citation for any of them to affect.
emit one schema (season, week, slug, rank, colour, subject, names,
citations, commemorations), rendered five ways: csv (RFC 4180,