from flask import Flask, send_file, request, render_template
from check_tools import *
from DBtools import *
app = Flask(__name__)
#app.config.from_pyfile('settings.py')

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

@app.route("/songoverview")
def show_song_overview():
    #return ""
    return render_template('show_data_from_db.html', data_input=return_all_data())
    #return send_file('show_data_from_db.html')
    #return "<p>Hello, World!</p>"

@app.route("/songlist_api")
def get_songs_info_from_db():
    #songdata_json = return_all_data()
    return return_all_data()

#@app.route("/checksong", methods=['GET', 'POST'])
@app.route("/checksong")
def check_song_again():

    #print(str(dict(request.args.items())))
    song_id = request.args.get('song_id') 
    #song_name = request.args.get('song_name')
    #created_by = request.args.get('created_by') 
    api_endpoint_song = "https://api.planningcenteronline.com/services/v2/songs/"+ song_id
    song_data_response = request_endpoint(api_endpoint_song)
    
    #production is failing here. Need to check respons before converiting to json
    song_data = song_data_response.json()

    arrangemnt_id = request.args.get('arrangement_id') 
    api_arrangemnt_url = "https://api.planningcenteronline.com/services/v2/songs/" + song_id + "/arrangements/" + arrangemnt_id
    #print (api_arrangemnt_url)
    response_arrangement_data = request_endpoint(api_arrangemnt_url)
    arrangement_data= response_arrangement_data.json()


    #print (arrangement_data)
    #print( arrangement_data['data']['relationships']['created_by']['data']['id'])
    person_endpoint = "https://api.planningcenteronline.com/services/v2/people/" + arrangement_data['data']['relationships']['created_by']['data']['id']
    response_person_data = request_endpoint(person_endpoint)
    person_data = response_person_data.json()

    check_song_result = check_song(song_data['data'], arrangement_data['data'], person_data)
    insertData(check_song_result)

    #return check_song_result
    return render_template('show_result_check_arr.html', data=check_song_result)
    #return request.args.get('song_id') + " " + request.args.get('arrangment_id')

if __name__ == '__main__':
    app.run(debug=True)