From 7b220084cf3951c8cde0582efdfcf628afc64336 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Tue, 28 Jul 2026 12:50:31 +0200 Subject: refactor: remove the niedziela/missalemeum scrapers, bt, traditional_lang The daily view now computes entirely offline (previous commit), so retire the network path and everything that served it: - Delete internal/tradlit (missalemeum) and the niedziela scraper from internal/liturgy (fetch/store/parse + fixtures); keep Section, DayInfo and ExtractCitation. - Remove the "bt" version everywhere (render gatherBT + branches, config, i18n, web form, TUI) and bible.ToEnglishRef (Polish citation converter). A legacy config carrying "bt" migrates to "wuj" on load (config.migrateBT). - Remove the traditional_lang config field and the -g/--lang flag from all three binaries. - Drop the now-dead flags -R/--refresh, -o/--offline, -u/--update, -C/--clean and the harvest/clean commands. - New defaults: versions = wuj,vul,grb,drb; default_version = vul. Update the README (offline-by-design, no harvest/update), help text, and stale niedziela/bt doc comments. Tests updated for the offline reality; go test ./... and go vet ./... are clean, all three binaries build and run offline (OF + EF, compare, web). --- internal/tradlit/parse_test.go | 86 ------------------------------------------ 1 file changed, 86 deletions(-) delete mode 100644 internal/tradlit/parse_test.go (limited to 'internal/tradlit/parse_test.go') diff --git a/internal/tradlit/parse_test.go b/internal/tradlit/parse_test.go deleted file mode 100644 index 58cc66f..0000000 --- a/internal/tradlit/parse_test.go +++ /dev/null @@ -1,86 +0,0 @@ -package tradlit - -import ( - "os" - "strings" - "testing" - - "github.com/lukaszkasprzak/lectio/internal/liturgy" -) - -func TestParse(t *testing.T) { - body, err := os.ReadFile("testdata/2026-07-22.json") - if err != nil { - t.Fatal(err) - } - secs, _, err := Parse(body) - if err != nil { - t.Fatal(err) - } - var gospel, epistle bool - for _, s := range secs { - if s.PartID == "evangelium" { - gospel = true - if s.Citation != "Luke 7:36-50" { - t.Errorf("gospel citation = %q", s.Citation) - } - if len(s.Paragraphs) == 0 { - t.Error("gospel has no vernacular text") - } - } - if s.PartID == "lectio" { - epistle = true - } - } - if !gospel || !epistle { - t.Errorf("missing parts: gospel=%v epistle=%v", gospel, epistle) - } -} - -// TestParseDayInfo checks the traditional (missalemeum) day-info -// extraction against the fixture's "info" object: Name from info.title, -// Season from info.tempora, Colour from info.colors[0] ("w" -> "white"). -func TestParseDayInfo(t *testing.T) { - body, err := os.ReadFile("testdata/2026-07-22.json") - if err != nil { - t.Fatal(err) - } - _, info, err := Parse(body) - if err != nil { - t.Fatal(err) - } - if info.Name != "St. Mary Magdalene" { - t.Errorf("Name = %q, want %q", info.Name, "St. Mary Magdalene") - } - if !strings.Contains(info.Season, "Pentecost") { - t.Errorf("Season = %q, want it to contain %q", info.Season, "Pentecost") - } - if info.Colour != "white" { - t.Errorf("Colour = %q, want %q", info.Colour, "white") - } -} - -// TestParseDayInfoMissingInfo checks that a response with no (or empty) -// info object yields a zero DayInfo rather than an error. -func TestParseDayInfoMissingInfo(t *testing.T) { - _, info, err := Parse([]byte(`[{"sections":[]}]`)) - if err != nil { - t.Fatal(err) - } - if info != (liturgy.DayInfo{}) { - t.Errorf("info = %+v, want zero value for a response with no info object", info) - } -} - -// TestParseDayInfoUnknownColourCode checks an unrecognised colour code maps -// to "" rather than passing the raw code through. -func TestParseDayInfoUnknownColourCode(t *testing.T) { - body := []byte(`[{"info":{"title":"Test","tempora":"","colors":["z"]},"sections":[]}]`) - _, info, err := Parse(body) - if err != nil { - t.Fatal(err) - } - if info.Colour != "" { - t.Errorf("Colour = %q, want empty for unknown code %q", info.Colour, "z") - } -} -- cgit v1.3