# from flask import Flask, render_template, request, jsonify
# import cv2
# import easyocr
# import glob
# import os
# import re
# app = Flask(__name__)

# reader = easyocr.Reader(['en'])

# def get_one_image_in_folder(folder_path):
#         image_extensions = ('*.jpg', '*.jpeg', '*.png', '*.gif', '*.bmp', '*.tiff')
#         for extension in image_extensions:
#             images = glob.glob(os.path.join(folder_path, extension))
#             if images:
#                 return images[0]
#         return None

# @app.route('/', methods=['GET'])
# def process_plate():
#     folder_path = r'number_plate'
#     image_path = get_one_image_in_folder(folder_path)
    
#     if not image_path:
#         return jsonify({"status": "error", "message": "No images found in the specified folder."})

#     img_gray = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
    
#     if img_gray is None:
#         return jsonify({"status": "error", "message": "Error loading image. Ensure the image is not corrupted or the path is correct."})

#     img_blur = cv2.GaussianBlur(img_gray, (5, 5), 10)
    
#     result = reader.readtext(img_blur)

#     if not result:
#         return jsonify({"status": "error", "message": "No text detected. Please try again with another image."})
    

#     numberplate_text = " ".join([text[1] for text in result]).strip()
    

#     text_file_path = r'result_plate_number'
#     file_name = "show_result.txt"
#     text_folder = os.path.join(text_file_path, file_name)
#     os.makedirs(text_file_path, exist_ok=True)
    
#     with open(text_folder, "w") as file:
#         file.write(numberplate_text)
    
#     return jsonify({"status": "success", "number_plate_text": numberplate_text})

# if __name__ == '__main__':
#     try:
#         app.run(debug=True)
#     except Exception as e:
#         print(f"Error: {e}")
# **************************** || *****************************************
# import os
# import glob
# import cv2
# import easyocr
# from flask import Flask, jsonify


# app = Flask(__name__)
# reader = easyocr.Reader(['en'])


# # Add the path to your application
# # sys.path.insert(0, '/home/demohwss/public_html/FLASK_API_TEXT.com/')
# # sys.path.insert(0, '/home/demohwss/public_html/FLASK_API_TEXT.com/FLASK_API_TEXT.py)

# # Import the Flask application
# # from FLASK_API_TEXT import app as application

# def get_first_image(folder_path):
#     """Retrieve the first image from the specified folder."""
#     image_extensions = ('*.jpg', '*.jpeg', '*.png', '*.gif', '*.bmp', '*.tiff')
#     for extension in image_extensions:
#         images = glob.glob(os.path.join(folder_path, extension))
#         if images:
#             return images[0]
#     return None

# @app.route('/', methods=['GET'])
# def process_plate():
#     folder_path = r'number_plate'
#     image_path = get_first_image(folder_path)
    
#     if not image_path:
#         return jsonify({"status": "error", "message": "No images found in the folder."})

#     img_gray = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
#     if img_gray is None:
#         return jsonify({"status": "error", "message": "Failed to load image. Check the file."})

#     img_blur = cv2.GaussianBlur(img_gray, (5, 5), 10)
#     result = reader.readtext(img_blur)

#     if not result:
#         return jsonify({"status": "error", "message": "No text detected in the image."})

#     numberplate_text = " ".join([text[1] for text in result]).strip()

#     output_folder = r'result_plate_number'
#     file_name = "show_result.txt"
#     output_file_path = os.path.join(output_folder, file_name)
#     os.makedirs(output_folder, exist_ok=True)

#     try:
#         with open(output_file_path, "w") as file:
#             file.write(numberplate_text)
#     except IOError as e:
#         return jsonify({"status": "error", "message": f"Failed to write to file: {str(e)}"})

#     return jsonify({"status": "success", "number_plate_text": numberplate_text})


# if __name__ == "__main__":
#     app.run(debug=True, port=5001)
    
    
    
    
    
import os
import glob
import cv2
import easyocr
from flask import Flask, jsonify

app = Flask(__name__)
reader = easyocr.Reader(['en'])

def get_first_image(folder_path):
    """Retrieve the first image from the specified folder."""
    image_extensions = ('*.jpg', '*.jpeg', '*.png', '*.gif', '*.bmp', '*.tiff')
    for extension in image_extensions:
        images = glob.glob(os.path.join(folder_path, extension))
        if images:
            return images[0]
    return None

@app.route('/', methods=['GET'])
def process_plate():
    folder_path = os.path.join(os.path.dirname(__file__), 'number_plate')
    image_path = get_first_image(folder_path)
    
    if not image_path:
        return jsonify({"status": "error", "message": "No images found in the folder."})

    img_gray = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
    if img_gray is None:
        return jsonify({"status": "error", "message": "Failed to load image. Check the file."})

    img_blur = cv2.GaussianBlur(img_gray, (5, 5), 10)
    result = reader.readtext(img_blur)

    if not result:
        return jsonify({"status": "error", "message": "No text detected in the image."})

    numberplate_text = " ".join([text[1] for text in result]).strip()

    output_folder = os.path.join(os.path.dirname(__file__), 'result_plate_number')
    file_name = "show_result.txt"
    output_file_path = os.path.join(output_folder, file_name)
    os.makedirs(output_folder, exist_ok=True)

    try:
        with open(output_file_path, "w") as file:
            file.write(numberplate_text)
    except IOError as e:
        return jsonify({"status": "error", "message": f"Failed to write to file: {str(e)}"})

    return jsonify({"status": "success", "number_plate_text": numberplate_text})
