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"/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')
