From fb17c9b63b1b400cca0df9449236e93c7920a19b Mon Sep 17 00:00:00 2001 From: Dave Porter Date: Thu, 18 Dec 2025 14:30:13 -0500 Subject: [PATCH] Add job number filter to prevent processing old jobs - Add MIN_JOB_NUMBER = 663000 threshold in Config - Skip jobs with OMG# below 663000 (old jobs) - Only process new jobs >= 663000 - Log skipped old jobs for visibility - Move skipped files to processed folder (not failed) This prevents conflicts with existing old entries that may not have proper custom fields populated. --- wrike_monitor_lgl.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/wrike_monitor_lgl.py b/wrike_monitor_lgl.py index a6db6a7..1e48ac4 100644 --- a/wrike_monitor_lgl.py +++ b/wrike_monitor_lgl.py @@ -52,6 +52,9 @@ class Config: WRIKE_SPACE_NAME = "LGL Team" DELIVERABLE_ITEM_TYPE_ID = None # Custom item types not available in LGL team space + # Job number filtering - only process new jobs + MIN_JOB_NUMBER = 663000 # Only accept job numbers >= this value + # Custom field IDs for LGL Team space CUSTOM_FIELDS = { "budget": "IEAGUQQ3JUAJHWE5", @@ -660,6 +663,18 @@ class WrikeMonitor: project_details = job_spec.get("ProjectDetails", {}) job_details = job_spec.get("JobDetails", {}) + # Validate job number - only process new jobs (>= MIN_JOB_NUMBER) + job_number = job_details.get("Number", "") + try: + job_num_int = int(job_number) if job_number else 0 + if job_num_int > 0 and job_num_int < Config.MIN_JOB_NUMBER: + self.logger.info(f"⊘ Skipping old job #{job_number} (below threshold {Config.MIN_JOB_NUMBER}) - {file_path.name}") + # Move to processed folder (not failed, since it's intentionally skipped) + self.move_to_processed(file_path) + return True + except ValueError: + pass # Invalid job number, continue processing + # Extract folder name business_area = project_details.get("BusinessArea", job_details.get("BusinessArea", "")) folder_name = self.parse_business_area(business_area)