from flask import Blueprint, request, json
from flask_cors import *

from service.taxonsToSiteService import getSpeciesIntro, getSpeciesData, getGenusIntro, getGenusData

taxonsToAllSite = Blueprint('taxonsToAllSite', __name__)
CORS(taxonsToAllSite, support_credentials=True)


@taxonsToAllSite.route('/speciesIntro', methods=['GET'])
def speciesIntro():
    ncbi_taxon_id = request.args.get('taxonId')
    propName = request.args.get('propName')
    propOrder = request.args.get('propOrder')
    if propOrder == 'ascending':
        propOrder = 'ASC'
    else:
        propOrder = 'DESC'
    intro = getSpeciesIntro(ncbi_taxon_id)
    speciesData = getSpeciesData(ncbi_taxon_id, propName, propOrder)
    result = {
        'intro': intro,
        'data': speciesData
    }
    return result


@taxonsToAllSite.route('/genusIntro', methods=['GET'])
def genusIntro():
    ncbi_taxon_id = request.args.get('taxonId')
    propName = request.args.get('propName')
    propOrder = request.args.get('propOrder')
    if propOrder == 'ascending':
        propOrder = 'ASC'
    else:
        propOrder = 'DESC'
    intro = getGenusIntro(ncbi_taxon_id)
    speciesData = getGenusData(ncbi_taxon_id, propName, propOrder)
    result = {
        'intro': intro,
        'data': speciesData
    }
    return result
