from flask import Flask, request, jsonify
import subprocess
import smtplib
from email.message import EmailMessage
import time
import os
import logging

log = logging.getLogger('werkzeug')
log.setLevel(logging.ERROR)

app = Flask(__name__)

@app.after_request
def add_cors(response):
    response.headers["Access-Control-Allow-Origin"] = "*"
    response.headers["Access-Control-Allow-Headers"] = "*"
    response.headers["Access-Control-Allow-Methods"] = "*"
    response.headers["Access-Control-Max-Age"] = "3600"
    return response

@app.route("/hint", methods=["POST", "OPTIONS"])
def receive_hint():
    if request.method == "OPTIONS":
        response = jsonify({"status": "ok"})
        response.headers["Access-Control-Allow-Origin"] = "*"
        response.headers["Access-Control-Allow-Headers"] = "*"
        response.headers["Access-Control-Allow-Methods"] = "*"
        response.headers["Access-Control-Max-Age"] = "3600"
        return response, 200
    hint = request.json["hint"]
    print("HINT:", hint, flush=True)
    return jsonify({"status": "ok"})

@app.route("/send", methods=["POST", "OPTIONS"])
def receive():
    if request.method == "OPTIONS":
        response = jsonify({"status": "ok"})
        response.headers["Access-Control-Allow-Origin"] = "*"
        response.headers["Access-Control-Allow-Headers"] = "*"
        response.headers["Access-Control-Allow-Methods"] = "*"
        response.headers["Access-Control-Max-Age"] = "3600"
        return response, 200
    JsPassword = request.json["password"]
    PyPassword = input("What's the password? ")
    if JsPassword == PyPassword:
        print("Nice job! you got the password!!")
        geoDash = input("Geometry Dash? ")
        if geoDash == "yes":
            GMAIL_USER = "cyanace7@gmail.com"
            GMAIL_APP_PASSWORD = "ncxc gbin kjvl fman"
            name = input("What is your name? ")
            answer = input("Say something cool: ")
            msg = EmailMessage()
            msg["Subject"] = "Hey you! yea you! I need you (me) to RESPOND! NOW!"
            msg["From"] = GMAIL_USER
            msg["To"] = GMAIL_USER
            msg.set_content(f"{name} said: {answer}")
            with smtplib.SMTP_SSL("smtp.gmail.com", 465) as smtp:
                smtp.login(GMAIL_USER, GMAIL_APP_PASSWORD)
                smtp.send_message(msg)
            timeV = input("How long to play (in seconds)? ")
            os.system(r'"C:\Program Files (x86)\Steam\steam.exe" steam://rungameid/322170')
            time.sleep(int(timeV))
            print("times up!")
            os.system("taskkill /f /im GeometryDash.exe")
        else:
            print("no geo dash? lameeeee")
    else:
        print("You suck")
    return jsonify({"status": "ok"})

print("Server starting on http://127.0.0.1:5000")
app.run(port=5000)