Skip to content

Low Priority Issues - MedshipmentTrackingTool (48 issues) #3

@Ricky512227

Description

@Ricky512227

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.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions