def main()

in probe_scraper/ping_expiry_alert.py [0:0]


def main():
    args = parse_args()

    expiring_pings_by_email, errors = get_expiring_pings(
        run_date=args.run_date,
        project_id=args.bigquery_project,
    )

    # Only send emails on Wednesday, dry run on other days for error checking
    dry_run = args.dry_run or args.run_date.weekday() != 2

    if len(errors) > 0:
        error_string = "\n".join([f"{ping}: {msg}" for ping, msg in errors.items()])
        full_message = f"Encountered {len(errors)} errors: \n{error_string}"
        send_error_email(
            message=full_message,
            run_date=args.run_date,
            dry_run=args.dry_run,  # send error emails regardless of day
        )
    else:
        full_message = None

    send_emails(expiring_pings_by_email, dry_run)

    if full_message is not None:
        print(full_message, file=sys.stderr)