diff --git a/test_apps/test_app3.py b/test_apps/test_app3.py
new file mode 100644
index 0000000..919cf63
--- /dev/null
+++ b/test_apps/test_app3.py
@@ -0,0 +1,98 @@
+import pandas as pd
+from flask import Flask, request, render_template_string
+import os
+import re
+
+app = Flask(__name__)
+
+# Directory to store converted CSV files
+UPLOAD_FOLDER = 'converted_files'
+os.makedirs(UPLOAD_FOLDER, exist_ok=True)
+
+@app.route('/')
+def index():
+ return '''
+
Upload Excel File
+
+ '''
+
+@app.route('/upload', methods=['POST'])
+def upload_file():
+ if 'file' not in request.files or 'tracking_no' not in request.form:
+ return "No file or tracking number provided.", 400
+
+ file = request.files['file']
+ tracking_no = request.form['tracking_no']
+ filename = file.filename
+
+ if not filename.endswith(('.xls', '.xlsx')):
+ return "Unsupported file type. Please upload an Excel file.", 400
+
+ try:
+ # Read all sheets from the Excel file with no header
+ file.seek(0) # Reset file pointer
+ sheet_data = pd.read_excel(file, sheet_name=None, header=None, dtype=str)
+
+ result_html = "Tracking Information
"
+ tracking_found = False
+ mail_bag_found = False
+
+ # Define regex pattern for Mail Bag No (e.g., HDOD-L04-2024-47 or similar formats)
+ mail_bag_pattern = r"\b[A-Za-z]{4,6}-\d{2,4}-?\d{1,4}-?\d{1,4}\b" # Refined pattern for mail bag no
+
+ # Process each sheet
+ for sheet_name, df in sheet_data.items():
+ sheet_found = False
+ mail_bag_no = None
+ tracking_found_in_sheet = None
+ hash_value = None
+
+ # Iterate through every row and column to search for the tracking number and Mail Bag No
+ for row_idx, row in df.iterrows():
+ for col_idx, cell in row.items():
+ cell_str = str(cell)
+ # Debugging: print the content of each cell being checked
+ print(f"Checking row {row_idx}, col {col_idx}: {cell_str}")
+
+ # Check for tracking number match
+ if tracking_no.lower() in cell_str.lower() and not tracking_found_in_sheet:
+ tracking_found = True
+ tracking_found_in_sheet = cell_str
+ adjusted_row_idx = row_idx + 1
+ adjusted_col_idx = col_idx + 1
+
+ # Check for "Mail Bag No" match using regex pattern
+ if re.search(mail_bag_pattern, cell_str) and not mail_bag_no:
+ mail_bag_no = cell_str.strip()
+
+ # Check for "#" match
+ if "#" in cell_str and not hash_value:
+ hash_value = cell_str.strip()
+
+ # Debugging: Print whether mail bag no and tracking no were found
+ print(f"Mail Bag No: {mail_bag_no}, Tracking Found: {tracking_found_in_sheet}, Hash: {hash_value}")
+
+ if tracking_found_in_sheet and mail_bag_no and hash_value:
+ result_html += f"Tracking No: {tracking_no} found in sheet '{sheet_name}'
"
+ result_html += f"Mail Bag No: {mail_bag_no}
"
+ result_html += f"Tracking No: {tracking_found_in_sheet}
"
+ result_html += f"#: {hash_value}
"
+ result_html += f"Details found in sheet '{sheet_name}'.
"
+
+ if not tracking_found:
+ result_html += f"No data found for Tracking No: {tracking_no}
"
+
+ return render_template_string(result_html)
+
+ except Exception as e:
+ return f"Error processing file: {e}", 500
+
+
+if __name__ == '__main__':
+ app.run(debug=True, port=5000, host='0.0.0.0')