-
Notifications
You must be signed in to change notification settings - Fork 0
Description
LOW Priority Bug Report for MedshipmentTrackingTool
Date: 2025-12-23T23:00:16.424Z
Priority: P2
Severity: LOW
Total Issues: 48
1. src/excel_handler.py:56
Category: code_quality
Print statement found - should use proper logging
last_names = [cell.value for cell in lastName_column[1:] if cell.value]
tracking_numbers = [cell.value for cell in trackingNum_column[1:] if cell.value]
print(f"Collected {len(tracking_numbers)} tracking numbers from Excel")
return order_ids, first_names, last_names, tracking_numbers
except FileNotFoundError:
2. src/excel_handler.py:60
Category: code_quality
Print statement found - should use proper logging
return order_ids, first_names, last_names, tracking_numbers
except FileNotFoundError:
print(f"Error: Input file not found at {self.config['input_file']}")
raise
except Exception as e:
print(f"Error reading input file: {e}")
3. src/excel_handler.py:63
Category: code_quality
Print statement found - should use proper logging
print(f"Error: Input file not found at {self.config['input_file']}")
raise
except Exception as e:
print(f"Error reading input file: {e}")
raise
def write_final_data(self, tracking_data):
4. src/excel_handler.py:94
Category: code_quality
Print statement found - should use proper logging
worksheet.write(row, col, value)
workbook.close()
print(f"Final data written to {self.config['final_data_file']}")
def categorize_shipments(self):
"""
5. src/excel_handler.py:162
Category: code_quality
Print statement found - should use proper logging
row_num = int(cell_str.split(".")[1].replace(">", "").replace("H", ""))
row_numbers.append(row_num)
except (ValueError, IndexError) as e:
print(f"Error extracting row number from {cell}: {e}")
continue
return row_numbers
6. src/excel_handler.py:195
Category: code_quality
Print statement found - should use proper logging
self._create_summary_sheet(workbook, categories)
workbook.close()
print(f"Categorized report generated: {output_file}")
return output_file
def _create_category_sheet(self, workbook, worksheet_parent, sheet_name, row_numbers):
7. src/excel_handler.py:246
Category: code_quality
Print statement found - should use proper logging
worksheet.write(row_idx, col_idx, value)
except Exception as e:
print(f"Error writing row {row_num} to {sheet_name}: {e}")
continue
def _create_summary_sheet(self, workbook, categories):
8. src/scheduler.py:37
Category: code_quality
Print statement found - should use proper logging
delta = target_time - now
seconds_until_run = delta.total_seconds()
print(f"Script scheduled to run at {target_time.strftime('%Y-%m-%d %H:%M:%S')}")
print(f"Time until execution: {delta}")
def trigger_script():
9. src/scheduler.py:38
Category: code_quality
Print statement found - should use proper logging
seconds_until_run = delta.total_seconds()
print(f"Script scheduled to run at {target_time.strftime('%Y-%m-%d %H:%M:%S')}")
print(f"Time until execution: {delta}")
def trigger_script():
"""Execute the tracking script."""
10. src/scheduler.py:42
Category: code_quality
Print statement found - should use proper logging
def trigger_script():
"""Execute the tracking script."""
print("=" * 60)
print("Scheduled script execution triggered!")
print(f"Time: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
print("=" * 60)
11. src/scheduler.py:43
Category: code_quality
Print statement found - should use proper logging
def trigger_script():
"""Execute the tracking script."""
print("=" * 60)
print("Scheduled script execution triggered!")
print(f"Time: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
print("=" * 60)
12. src/scheduler.py:44
Category: code_quality
Print statement found - should use proper logging
"""Execute the tracking script."""
print("=" * 60)
print("Scheduled script execution triggered!")
print(f"Time: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
print("=" * 60)
try:
13. src/scheduler.py:45
Category: code_quality
Print statement found - should use proper logging
print("=" * 60)
print("Scheduled script execution triggered!")
print(f"Time: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
print("=" * 60)
try:
# Get the path to tracker.py
14. src/scheduler.py:56
Category: code_quality
Print statement found - should use proper logging
subprocess.run([sys.executable, tracker_script])
except Exception as e:
print(f"Error executing scheduled script: {e}")
import traceback
traceback.print_exc()
15. src/tracker.py:55
Category: code_quality
Print statement found - should use proper logging
if tracking_number is None:
continue
print(f"\n[{i+1}/{len(tracking_numbers)}] Processing: {tracking_number}")
# Fetch tracking data
event_data = fetch_tracking_data(tracking_number, self.config['ips_tracking_url'])
16. src/tracker.py:79
Category: code_quality
Print statement found - should use proper logging
# Not a zip code, keep original location
pass
except (IndexError, ValueError) as e:
print(f"Warning: Could not enhance location data: {e}")
# Add order information to the tracking data
record = list(event_data)
17. src/tracker.py:100
Category: code_quality
Print statement found - should use proper logging
"""
Execute the complete tracking process.
"""
print("=" * 60)
print("MedshipmentTrackingTool - Starting Tracking Process")
print("=" * 60)
print(f"Start Time: {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n")
18. src/tracker.py:101
Category: code_quality
Print statement found - should use proper logging
Execute the complete tracking process.
"""
print("=" * 60)
print("MedshipmentTrackingTool - Starting Tracking Process")
print("=" * 60)
print(f"Start Time: {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n")
19. src/tracker.py:102
Category: code_quality
Print statement found - should use proper logging
"""
print("=" * 60)
print("MedshipmentTrackingTool - Starting Tracking Process")
print("=" * 60)
print(f"Start Time: {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n")
# Process tracking numbers
20. src/tracker.py:103
Category: code_quality
Print statement found - should use proper logging
print("=" * 60)
print("MedshipmentTrackingTool - Starting Tracking Process")
print("=" * 60)
print(f"Start Time: {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n")
# Process tracking numbers
tracking_data = self.process_tracking_numbers()
21. src/tracker.py:109
Category: code_quality
Print statement found - should use proper logging
tracking_data = self.process_tracking_numbers()
if not tracking_data:
print("\nNo tracking data was successfully retrieved.")
return
# Write final data
22. src/tracker.py:113
Category: code_quality
Print statement found - should use proper logging
return
# Write final data
print(f"\nWriting {len(tracking_data)} records to Final-Data.xlsx...")
self.excel_handler.write_final_data(tracking_data)
# Categorize shipments
23. src/tracker.py:117
Category: code_quality
Print statement found - should use proper logging
self.excel_handler.write_final_data(tracking_data)
# Categorize shipments
print("\nCategorizing shipments...")
categories = self.excel_handler.categorize_shipments()
# Generate categorized report
24. src/tracker.py:121
Category: code_quality
Print statement found - should use proper logging
categories = self.excel_handler.categorize_shipments()
# Generate categorized report
print("Generating categorized report...")
report_file = self.excel_handler.generate_categorized_report(categories)
# Print summary
25. src/tracker.py:125
Category: code_quality
Print statement found - should use proper logging
report_file = self.excel_handler.generate_categorized_report(categories)
# Print summary
print("\n" + "=" * 60)
print("TRACKING SUMMARY")
print("=" * 60)
print(f"Total Processed: {len(tracking_data)}")
26. src/tracker.py:126
Category: code_quality
Print statement found - should use proper logging
# Print summary
print("\n" + "=" * 60)
print("TRACKING SUMMARY")
print("=" * 60)
print(f"Total Processed: {len(tracking_data)}")
print(f"Delivered: {len(categories.get('Delivered', []))}")
27. src/tracker.py:127
Category: code_quality
Print statement found - should use proper logging
# Print summary
print("\n" + "=" * 60)
print("TRACKING SUMMARY")
print("=" * 60)
print(f"Total Processed: {len(tracking_data)}")
print(f"Delivered: {len(categories.get('Delivered', []))}")
print(f"Booked: {len(categories.get('Booked', []))}")
28. src/tracker.py:128
Category: code_quality
Print statement found - should use proper logging
print("\n" + "=" * 60)
print("TRACKING SUMMARY")
print("=" * 60)
print(f"Total Processed: {len(tracking_data)}")
print(f"Delivered: {len(categories.get('Delivered', []))}")
print(f"Booked: {len(categories.get('Booked', []))}")
print(f"In Transit: {len(categories.get('InTransit', []))}")
29. src/tracker.py:129
Category: code_quality
Print statement found - should use proper logging
print("TRACKING SUMMARY")
print("=" * 60)
print(f"Total Processed: {len(tracking_data)}")
print(f"Delivered: {len(categories.get('Delivered', []))}")
print(f"Booked: {len(categories.get('Booked', []))}")
print(f"In Transit: {len(categories.get('InTransit', []))}")
print(f"Inbound: {len(categories.get('InBound', []))}")
30. src/tracker.py:130
Category: code_quality
Print statement found - should use proper logging
print("=" * 60)
print(f"Total Processed: {len(tracking_data)}")
print(f"Delivered: {len(categories.get('Delivered', []))}")
print(f"Booked: {len(categories.get('Booked', []))}")
print(f"In Transit: {len(categories.get('InTransit', []))}")
print(f"Inbound: {len(categories.get('InBound', []))}")
print(f"Outbound: {len(categories.get('OutBound', []))}")
31. src/tracker.py:131
Category: code_quality
Print statement found - should use proper logging
print(f"Total Processed: {len(tracking_data)}")
print(f"Delivered: {len(categories.get('Delivered', []))}")
print(f"Booked: {len(categories.get('Booked', []))}")
print(f"In Transit: {len(categories.get('InTransit', []))}")
print(f"Inbound: {len(categories.get('InBound', []))}")
print(f"Outbound: {len(categories.get('OutBound', []))}")
print(f"Notice Left: {len(categories.get('NoticeLeft', []))}")
32. src/tracker.py:132
Category: code_quality
Print statement found - should use proper logging
print(f"Delivered: {len(categories.get('Delivered', []))}")
print(f"Booked: {len(categories.get('Booked', []))}")
print(f"In Transit: {len(categories.get('InTransit', []))}")
print(f"Inbound: {len(categories.get('InBound', []))}")
print(f"Outbound: {len(categories.get('OutBound', []))}")
print(f"Notice Left: {len(categories.get('NoticeLeft', []))}")
print(f"Stuck: {len(categories.get('Stuck', []))}")
33. src/tracker.py:133
Category: code_quality
Print statement found - should use proper logging
print(f"Booked: {len(categories.get('Booked', []))}")
print(f"In Transit: {len(categories.get('InTransit', []))}")
print(f"Inbound: {len(categories.get('InBound', []))}")
print(f"Outbound: {len(categories.get('OutBound', []))}")
print(f"Notice Left: {len(categories.get('NoticeLeft', []))}")
print(f"Stuck: {len(categories.get('Stuck', []))}")
print(f"Returned: {len(categories.get('Returned', []))}")
34. src/tracker.py:134
Category: code_quality
Print statement found - should use proper logging
print(f"In Transit: {len(categories.get('InTransit', []))}")
print(f"Inbound: {len(categories.get('InBound', []))}")
print(f"Outbound: {len(categories.get('OutBound', []))}")
print(f"Notice Left: {len(categories.get('NoticeLeft', []))}")
print(f"Stuck: {len(categories.get('Stuck', []))}")
print(f"Returned: {len(categories.get('Returned', []))}")
print(f"Failed/No Info: {len(self.miscellaneous)}")
35. src/tracker.py:135
Category: code_quality
Print statement found - should use proper logging
print(f"Inbound: {len(categories.get('InBound', []))}")
print(f"Outbound: {len(categories.get('OutBound', []))}")
print(f"Notice Left: {len(categories.get('NoticeLeft', []))}")
print(f"Stuck: {len(categories.get('Stuck', []))}")
print(f"Returned: {len(categories.get('Returned', []))}")
print(f"Failed/No Info: {len(self.miscellaneous)}")
print("=" * 60)
36. src/tracker.py:136
Category: code_quality
Print statement found - should use proper logging
print(f"Outbound: {len(categories.get('OutBound', []))}")
print(f"Notice Left: {len(categories.get('NoticeLeft', []))}")
print(f"Stuck: {len(categories.get('Stuck', []))}")
print(f"Returned: {len(categories.get('Returned', []))}")
print(f"Failed/No Info: {len(self.miscellaneous)}")
print("=" * 60)
print(f"\nReport generated: {report_file}")
37. src/tracker.py:137
Category: code_quality
Print statement found - should use proper logging
print(f"Notice Left: {len(categories.get('NoticeLeft', []))}")
print(f"Stuck: {len(categories.get('Stuck', []))}")
print(f"Returned: {len(categories.get('Returned', []))}")
print(f"Failed/No Info: {len(self.miscellaneous)}")
print("=" * 60)
print(f"\nReport generated: {report_file}")
print(f"End Time: {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
38. src/tracker.py:138
Category: code_quality
Print statement found - should use proper logging
print(f"Stuck: {len(categories.get('Stuck', []))}")
print(f"Returned: {len(categories.get('Returned', []))}")
print(f"Failed/No Info: {len(self.miscellaneous)}")
print("=" * 60)
print(f"\nReport generated: {report_file}")
print(f"End Time: {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
39. src/tracker.py:139
Category: code_quality
Print statement found - should use proper logging
print(f"Returned: {len(categories.get('Returned', []))}")
print(f"Failed/No Info: {len(self.miscellaneous)}")
print("=" * 60)
print(f"\nReport generated: {report_file}")
print(f"End Time: {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
40. src/tracker.py:140
Category: code_quality
Print statement found - should use proper logging
print(f"Failed/No Info: {len(self.miscellaneous)}")
print("=" * 60)
print(f"\nReport generated: {report_file}")
print(f"End Time: {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
def main():
41. src/tracker.py:149
Category: code_quality
Print statement found - should use proper logging
tracker = ShipmentTracker()
tracker.run()
except KeyboardInterrupt:
print("\n\nProcess interrupted by user.")
sys.exit(1)
except Exception as e:
print(f"\nError: {e}")
42. src/tracker.py:152
Category: code_quality
Print statement found - should use proper logging
print("\n\nProcess interrupted by user.")
sys.exit(1)
except Exception as e:
print(f"\nError: {e}")
import traceback
traceback.print_exc()
sys.exit(1)
43. src/web_scraper.py:29
Category: code_quality
Print statement found - should use proper logging
response = requests.get(url, timeout=10)
data = BeautifulSoup(response.text, "lxml")
except Exception as e:
print(f"Error fetching zip code data: {e}")
return 0
try:
44. src/web_scraper.py:43
Category: code_quality
Print statement found - should use proper logging
location_parts.pop(0)
return ",".join(location_parts)
except Exception as e:
print(f"Error parsing zip code data: {e}")
return 0
45. src/web_scraper.py:64
Category: code_quality
Print statement found - should use proper logging
response = requests.get(tracking_url, timeout=15)
if response.status_code != 200:
print(f"Tracking Number {tracking_number}: Unable to hit the link (Status: {response.status_code})")
return 0
data = BeautifulSoup(response.text, "lxml")
46. src/web_scraper.py:92
Category: code_quality
Print statement found - should use proper logging
if event_data:
event_data.pop() # Remove another trailing element
print(f"Tracking Number {tracking_number}: Successfully fetched data")
return event_data
except (AttributeError, IndexError, ValueError) as e:
47. src/web_scraper.py:108
Category: code_quality
Print statement found - should use proper logging
return 0
except requests.RequestException as e:
print(f"Tracking Number {tracking_number}: Network error - {e}")
return 0
except Exception as e:
print(f"Tracking Number {tracking_number}: Unexpected error - {e}")
48. src/web_scraper.py:111
Category: code_quality
Print statement found - should use proper logging
print(f"Tracking Number {tracking_number}: Network error - {e}")
return 0
except Exception as e:
print(f"Tracking Number {tracking_number}: Unexpected error - {e}")
return 0
Full report available in workflow artifacts.