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

1"""Email parsers package for processing job-related emails.""" 

2 

3from app.job_email_scraping.email_parsers import indeed, linkedin, nhs, veganjobs 

4from app.job_email_scraping.email_parsers.utils import Platform 

5 

6 

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} 

13 

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} 

20 

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}