chore: sync with Gitea master and restore local-only files

Reset local main to gitea/master (new source of truth) and restored
local-only files: web scrapers, admin dashboard, ChromaDB integration,
debug scripts, and utility libraries that aren't tracked in Gitea.

Gitea master adds: discovermass, buscarmisas-network, hk-parishes,
bohosluzby, kerknet, gottesdienstzeiten, miserend importers,
ClaimRequest model, forward geocoding, heartbeat healthcheck.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Albert
2026-04-12 19:11:22 -04:00
parent 76cca3ba75
commit 2c51513851
133 changed files with 30381 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
#!/usr/bin/env tsx
/**
* Verify Paróquia da Paz schedules are correctly parsed
*/
import { GenericScraper } from '../../src/scrapers/strategies/generic';
async function verifyPazSchedules() {
const url = 'https://www.paroquiadapaz.org.br/';
console.log(`Verifying: ${url}\n`);
const scraper = new GenericScraper();
await scraper.init();
scraper.setCountry('BR');
const result = await scraper.scrape(url);
console.log(`✅ Success: ${result.success}`);
console.log(`📅 Schedules found: ${result.schedules.length}\n`);
// Group by day
const byDay: Record<number, typeof result.schedules> = {};
for (const sched of result.schedules) {
if (!byDay[sched.dayOfWeek]) byDay[sched.dayOfWeek] = [];
byDay[sched.dayOfWeek].push(sched);
}
const dayNames = ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'];
console.log('═══════════════════════════════════════════════');
console.log('PARSED SCHEDULE:');
console.log('═══════════════════════════════════════════════\n');
Object.entries(byDay)
.sort(([a], [b]) => parseInt(a) - parseInt(b))
.forEach(([day, scheds]) => {
console.log(`${dayNames[parseInt(day)]}:`);
scheds.forEach(s => {
console.log(` ${s.time} - ${s.language} ${s.massType}`);
});
console.log('');
});
console.log('Expected schedule (from website):');
console.log('Segunda, Terça, Quarta, Sexta: 16:00 e 18:00');
console.log('Quinta: 16:00 e 19:00');
console.log('Sábado: 08:00, 16:00 e 18:00');
console.log('Domingo: 08:00, 11:00, 16:00, 18:00 e 20:00');
await scraper.close();
}
verifyPazSchedules().catch(console.error);