from flask import Flask, render_template, send_from_directory
from flask_cors import *
import requests

from api.homePage import home
from api.bodySitePage import bodySite
from api.phenotypePage import phenotype
from api.taxonsPage import taxons
from api.taxonsToAllSite import taxonsToAllSite
from api.taxonsToOneSite import taxonsToOneSite
from api.dataPage import data
from api.taxonsFinalPage import taxonsFinalPage
from api.helpPage import help
from api.phenotypeIndex import phenotypeIndex

app = Flask(__name__)

CORS(app, supports_credentials=True)
app.register_blueprint(home, url_prefix="/mbodymap/home")
app.register_blueprint(bodySite, url_prefix="/mbodymap/bodySite")
app.register_blueprint(phenotype, url_prefix="/mbodymap/phenotype")
app.register_blueprint(taxons, url_prefix="/mbodymap/taxons")
app.register_blueprint(taxonsToAllSite, url_prefix="/mbodymap/taxons/taxonsToAllSite")
app.register_blueprint(taxonsToOneSite, url_prefix="/mbodymap/taxons/taxonsToOneSite")
app.register_blueprint(data, url_prefix="/mbodymap/data")
app.register_blueprint(taxonsFinalPage, url_prefix="/mbodymap/taxons/taxonsFinal")
app.register_blueprint(help, url_prefix="/mbodymap/help")
app.register_blueprint(phenotypeIndex, url_prefix="/mbodymap/phenotypeIndex")

if __name__ == '__main__':
    app.run()


@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def catch_all(path):
    if app.debug:
        return requests.get('http://localhost:8089/{}'.format(path)).text
    return render_template("index.html")
