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)