import flask
from flask import request, jsonify, send_file
import os
import sqlite


from dotenv import load_dotenv
import globs
from flask import render_template


from api_logic import api
import my_sqlite




load_dotenv()




# Выполнение кода для создания базы данных и таблицы
my_sqlite.create_database_and_table()





app = flask.Flask(__name__, template_folder="./")
app.config['DEBUG'] = True





@app.route("/")
def index():
    return flask.render_template('index.html')






@app.route('/online', methods=['GET'])
def online():
    return render_template('online.html')






@app.route('/online_api', methods=['GET'])
def online_api():
    return jsonify(dey=globs.dey,
                   wek=globs.wek,
                  v_hid=globs.v_hid,
                  v_min=globs.v_min,                   
                   ph=globs.ph,
                   ec=globs.ec,
                   tS=globs.tS,
                   tA=globs.tA,
                   hDm=globs.hDm,
                   sVen=globs.sVen,
                   rFul=globs.rFul,
                   rLi=globs.rLi,
                   rWat=globs.rWat,
                   rRas=globs.rRas,
                   rPH=globs.rPH,
                   rEC=globs.rEC,
                   rSl=globs.rSl,
                   rLe=globs.rLe,
                   alW=globs.alW
                  )





@app.route('/settings', methods=['GET'])
def settings():
    return render_template('settings.html')


@app.route('/settings_api', methods=['GET'])
def settings_api():
    return jsonify(ph_eep=globs.ph_eep,
                   ph_on_eep=globs.ph_on_eep,
                   ec_eep=globs.ec_eep,
                   ec_A_eep=globs.ec_A_eep,
                   ec_B_eep=globs.ec_B_eep,
                   ec_C_eep=globs.ec_C_eep,
                   l_ON_h_eep=globs.l_ON_h_eep,
                   l_ON_m_eep=globs.l_ON_m_eep,
                   l_OFF_h_eep=globs.l_OFF_h_eep,
                   l_OFF_m_eep=globs.l_OFF_m_eep,
                   t_Voz_eep=globs.t_Voz_eep
                  )








@app.route('/set_res')
def set_res():
    globs.eep_set = 0
    return jsonify(value_set="reset")




@app.route('/pH_set')
def set_pH_value():
    ph_value = request.args.get('value')
    globs.ph_set = ph_value
    globs.eep_set = 1
    return "pH value set successfully"


@app.route('/ph_on_set')
def ph_on_value():
    ph_on_value = request.args.get('value')
    globs.ph_on_set = ph_on_value
    globs.eep_set = 2
    return "EC value set successfully"



@app.route('/EC_set')
def set_EC_value():
    ec_value = request.args.get('value')
    globs.ec_set = ec_value
    globs.eep_set = 3
    return "EC value set successfully"

@app.route('/ec_A_set')
def ec_A_setValue():
    ec_A_setValue = request.args.get('value')
    globs.ec_A_set = ec_A_setValue
    globs.eep_set = 4
    return "EC value set successfully"

@app.route('/ec_B_set')
def ec_B_setValue():
    ec_B_setValue = request.args.get('value')
    globs.ec_B_set = ec_B_setValue
    globs.eep_set = 5
    return "EC value set successfully"

@app.route('/ec_C_set')
def ec_C_setValue():
    ec_C_setValue = request.args.get('value')
    globs.ec_C_set = ec_C_setValue
    globs.eep_set = 6
    return "EC value set successfully"


@app.route('/l_ON_set')
def l_ON_set():
    globs.l_ON_h_set = request.args.get('l_ON_h_set')
    globs.l_ON_m_set = request.args.get('l_ON_m_set')
    globs.eep_set = 7
    return "EC value set successfully"



@app.route('/l_OFF_set')
def l_OFF_set():
    globs.l_OFF_h_set = request.args.get('l_OFF_h_set')
    globs.l_OFF_m_set = request.args.get('l_OFF_m_set')
    globs.eep_set = 8
    return "EC value set successfully"




@app.route('/t_Voz_eep_set')
def t_Voz_eep_set():
    t_Voz_eep_set = request.args.get('value')
    globs.ec_t_Voz_set = t_Voz_eep_set
    globs.eep_set = 9
    return "EC value set successfully"


    
@app.route("/api", methods=['GET'])
def handle_api():
    response = api()
    return response











@app.route('/graf_json', methods=['GET'])
def graf_json():
    return render_template('graf.html')





if __name__ == '__main__':
    app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 7860)))