Coverage for backend / app / job_email_scraping / email_parsers / __init__.py: 100%
5 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-17 21:34 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-17 21:34 +0000
1"""Email parsers package for processing job-related emails."""
3from app.job_email_scraping.email_parsers import indeed, linkedin, nhs, veganjobs
4from app.job_email_scraping.email_parsers.utils import Platform
7JOB_PARSERS = {
8 Platform.LINKEDIN: linkedin.parse_linkedin_job_email,
9 Platform.INDEED: indeed.parse_indeed_job_email,
10 Platform.VEGANJOBS: veganjobs.parse_veganjobs_email,
11 Platform.NHS: nhs.parse_nhs_job_email,
12}
14ALERT_NAME_EXTRACTORS = {
15 Platform.LINKEDIN: lambda subject, body: linkedin.extract_alert_name(subject),
16 Platform.INDEED: lambda subject, body: indeed.extract_alert_name(subject),
17 Platform.VEGANJOBS: lambda subject, body: veganjobs.extract_alert_name(subject),
18 Platform.NHS: lambda subject, body: nhs.extract_alert_name(body),
19}
21PLATFORM_SENDER_EMAILS = {
22 "jobalerts-noreply@linkedin.com": Platform.LINKEDIN,
23 "alert@indeed.com": Platform.INDEED,
24 "nhs.jobs.job.alerts@notifications.service.gov.uk": Platform.NHS,
25 "info@veganjobs.com": Platform.VEGANJOBS,
26}