Implements entry splitter, name extractor, field extractor, time normalizer,
schedule line parser, and weekday day-prefix parser. All 26 tests pass.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Imports, types, and Prisma client init
- ParsedSchedule and ParsedEntry types for parsing parish data
- ExistingChurch interface for matching
- ImportStats interface for tracking progress
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove discovermassId/buscarmisasNetworkId from findDuplicateChurch match
passes (importers now do their own pre-check dedup); restore as optional
fields on ExistingChurch to keep type/runtime in sync
- Add HK bounding box to COUNTRY_BOUNDING_BOXES; fix silent 0-result
fallback when country query returns empty from mirror server
- discovermass importer: add --limit flag and skip-already-imported
pre-check using importedSlugs set
- Import scripts: remove discovermassId from ExistingChurch select/stubs
(field not needed in shared matcher context)
- Schema: reorder discovermassId/kerknetId/gottesdienstzeitenId fields
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Covers 7-country Latin America + UK + Switzerland mass times
network (horariosmissa.com.br and sister sites), all sharing
identical WordPress structure.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Imports 20,284 US Catholic churches from discovermass.com including mass,
confession, and adoration schedules. Respects robots.txt Crawl-delay: 10.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add discovermassId field to ExistingChurch interface and ChurchCandidate type,
insert a dedicated matching pass in findDuplicateChurch, and update all 15 importer
push blocks plus 16 loadExistingChurches select queries to include the new field.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add discovermassId as a unique, optional field to the Church model
to support importing churches from discovermass.com (20,284 US churches).
The field follows the same pattern as other source ID fields:
- String type, optional, unique
- Maps to 'discovermass_id' database column
- Includes corresponding database index
Generated Prisma client successfully with 'npx prisma generate'
- Validate lat/lng from daddr= (bounds check + isFinite) before storing
- Cap HTML to 100KB before regex matching to prevent backtracking on large pages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
20,284 US churches with mass/confession/adoration schedules.
10s crawl delay (robots.txt), Docker deployment via scheduler.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Two new importers:
- horariodemissa.com.br: 8,895 Brazilian churches + 28,523 mass times
- misas.org: 17,919 Spanish churches with coordinates
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>