Coverage for backend / app / job_email_scraping / run_email_scraper.py: 95%
20 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"""CLI script to run the job email scraper once for a given number of days."""
3import argparse
4import sys
6from app.job_email_scraping.email_scraper import JobEmailScraper
9def main():
10 parser = argparse.ArgumentParser(description="Run the job email scraper for a specified number of days.")
11 parser.add_argument(
12 "--days",
13 "-d",
14 type=float,
15 default=1,
16 help="Number of days to look back for emails (default: 1)",
17 )
18 parser.add_argument(
19 "--verbose",
20 "-v",
21 action="store_true",
22 help="Enable verbose output",
23 )
25 args = parser.parse_args()
27 if args.days <= 0:
28 print("Error: days must be a positive number")
29 sys.exit(1)
31 print(f"Starting job email scraper for the last {args.days} day(s)...")
33 scraper = JobEmailScraper()
34 result = scraper.run_scraping(timedelta_days=args.days)
36 if result.error_message:
37 print(f"\nError: {result.error_message}")
38 sys.exit(1)
40 print("\nDone!")
43if __name__ == "__main__":
44 main()