# import os
# from PIL import Image
# import pytesseract
# from flask import Flask, request, jsonify
# from flask_cors import CORS

# # Flask setup
# app = Flask(__name__)
# CORS(app)

# os.makedirs("uploads", exist_ok=True)
# pytesseract.pytesseract.tesseract_cmd = r"C:\Users\guthi\AppData\Local\Programs\Tesseract-OCR\tesseract.exe"
# # pytesseract.pytesseract.tesseract_cmd = r"/usr/bin/tesseract"

# @app.route("/aadhar_parse", methods=["POST"])
# def aadhar_parse_image():
#     if "file" not in request.files:
#         return jsonify({"error": "No file uploaded"}), 400
#     file = request.files["file"]
#     if file.filename == "":
#         return jsonify({"error": "Empty filename"}), 400

#     save_path = os.path.join("uploads", file.filename)
#     file.save(save_path)

#     img = Image.open(save_path).convert("L")

#     data = pytesseract.image_to_data(img, output_type=pytesseract.Output.DICT)
#     extracted_text = ""

#     for i, word in enumerate(data['text']):
#         if word.strip():
#             extracted_text += word + " "
#             if i < len(data['line_num']) - 1 and data['line_num'][i] != data['line_num'][i+1]:
#                 extracted_text += "\n"

#     os.remove(save_path)
#     return jsonify({
#         "message": "OCR Done",
#         "text": extracted_text.strip()
#     })


# if __name__ == "__main__":
#     app.run(debug=True, host="localhost", port=2000)
#     # app.run(debug=True,host='165.22.220.143',port='2222')



import os
from PIL import Image
import pytesseract
from flask import Flask, request, jsonify
from flask_cors import CORS

# Flask setup
app = Flask(__name__)
CORS(app)

os.makedirs("uploads", exist_ok=True)
# pytesseract.pytesseract.tesseract_cmd = r"C:\Users\guthi\AppData\Local\Programs\Tesseract-OCR\tesseract.exe" #local
pytesseract.pytesseract.tesseract_cmd = r"/usr/bin/tesseract" #live

@app.route("/aadhar_parse", methods=["POST"])
def aadhar_parse_image():
    if "file" not in request.files:
        return jsonify({"error": "No file uploaded"}), 400

    extracted_text = ""

    for file in request.files.getlist("file"):
        if file.filename == "":
            continue

        save_path = os.path.join("uploads", file.filename)
        file.save(save_path)

        try:
            img = Image.open(save_path).convert("L")

            data = pytesseract.image_to_data(
                img, output_type=pytesseract.Output.DICT
            )

            for i, word in enumerate(data['text']):
                if word.strip():
                    extracted_text += word + " "
                    if (
                        i < len(data['line_num']) - 1
                        and data['line_num'][i] != data['line_num'][i + 1]
                    ):
                        extracted_text += "\n"

            extracted_text += "\n\n"
            img.close()
        except Exception:
            pass
    if os.path.exists(save_path):
        os.remove(save_path)

    return jsonify({
        "message": "OCR Done",
        "text": extracted_text.strip()
    })




if __name__ == "__main__":
    # app.run(debug=True, host="localhost", port=2000) #local
    app.run(debug=True,host='165.22.220.143',port='2222') #live