Source code for src.l2_et_reorientation


# Imports
from .shared_import import *

# Récupérer le nombre d’étudiant passant en L2 en 1 an / en 2 ans / le nombre d’étudiants n’étant pas passer en L2
[docs] @app.route('/api/passage_l2/stats', methods=['GET']) def get_passage_l2_stats() -> dict: """ Récupérer le nombre d’étudiant passant en L2 en 1 an / en 2 ans / le nombre d’étudiants n’étant pas passer en L2 Returns: dict: le nombre d'étudiants passant en L2 en 1 an / en 2 ans / le nombre d'étudiants n'étant pas passer en L2 Examples: >>> requests.get(f"http://localhost:5000/api/passage_l2/stats").json() {'pas_passe': 75007, 'passage_en_l2_1_an': 65127, 'passage_en_l2_2_ans': 19632} """ data = fetch_data("select=passage_en_l2_1_an,passage_en_l2_2_ans,effectif_neobacheliers_passage") result = { 'passage_en_l2_1_an': int(sum(filter(None,[row['passage_en_l2_1_an'] for row in data]))), 'passage_en_l2_2_ans': int(sum(filter(None,[row['passage_en_l2_2_ans'] for row in data]))), 'pas_passe': sum(filter(None,[row['effectif_neobacheliers_passage'] for row in data])) } result['pas_passe'] = int(result['pas_passe'] - (result['passage_en_l2_1_an'] + result['passage_en_l2_2_ans'])) return jsonify(result)
# Passage en L2 (1 an, 2 ans, pas passe, taux de passage) par sexe
[docs] @app.route('/api/passage_l2/sexe', methods=['GET']) def get_passage_l2_par_sexe() -> dict: """ Récupérer le nombre d'étudiants passant en L2 en 1 an / en 2 ans / le nombre d'étudiants n'étant pas passer en L2 par sexe Returns: dict: le nombre d'étudiants passant en L2 en 1 an / en 2 ans / le nombre d'étudiants n'étant pas passer en L2 par sexe Examples: >>> requests.get(f"http://localhost:5000/api/passage_l2/sexe").json() {'Femme': {'pas_passe': 41115, 'passage_en_l2_1_an': 42219, 'passage_en_l2_2_ans': 11363, 'taux_passage': 56.58257389357635}, 'Homme': {'pas_passe': 33892, 'passage_en_l2_1_an': 22908, 'passage_en_l2_2_ans': 8269, 'taux_passage': 47.91375309287064}} """ data = fetch_data("select=sexe_lib,SUM(passage_en_l2_1_an),SUM(passage_en_l2_2_ans),SUM(effectif_neobacheliers_passage)&group_by=sexe_lib") result = {row['sexe_lib']: { 'passage_en_l2_1_an': int(row['SUM(passage_en_l2_1_an)']), 'passage_en_l2_2_ans': int(row['SUM(passage_en_l2_2_ans)']), 'pas_passe': int(row['SUM(effectif_neobacheliers_passage)']) - (int(row['SUM(passage_en_l2_1_an)']) + int(row['SUM(passage_en_l2_2_ans)'])), 'taux_passage': (int(row['SUM(passage_en_l2_1_an)']) + int(row['SUM(passage_en_l2_2_ans)'])) / int(row['SUM(effectif_neobacheliers_passage)']) * 100 } for row in data} return jsonify(result)
# Récupérer le nombre de passage en L2 en fonction du type de bac
[docs] @app.route('/api/passage_l2/bac', methods=['GET']) def get_passage_l2_par_bac() -> dict: """ Récupérer le nombre de passage en L2 en fonction du type de bac Returns: dict: le nombre de passage en L2 en fonction du type de bac Examples: >>> requests.get(f"http://localhost:5000/api/passage_l2/bac").json() {'BAC ES': 29636.0, 'BAC L': 18860.0, 'BAC S': 29696.0, 'BAC STMG': 2732.0, 'BAC professionnel': 1187.0, 'BAC technologique hors STMG': 2648.0} """ data = fetch_data("select=serie_bac_lib,SUM(passage_en_l2_1_2_ans)&group_by=serie_bac_lib") result = {row['serie_bac_lib']: row['SUM(passage_en_l2_1_2_ans)'] for row in data} return jsonify(result)
# Nombre d’étudiants passant en DUT après 1 an / 2 ans de licence
[docs] @app.route('/api/passage_dut', methods=['GET']) def get_passage_dut() -> dict: """ Récupérer le nombre d'étudiants passant en DUT après 1 an / 2 ans de licence Returns: dict: le nombre d'étudiants passant en DUT après 1 an / 2 ans de licence Examples: >>> requests.get(f"http://localhost:5000/api/passage_dut").json() {'après 1 an': 2814.0, 'après 2 ans': 848.0} """ data = fetch_data("select=SUM(reorientation_en_dut_1_an),SUM(reorientation_en_dut_2_ans)") result = { "après 1 an": data[0]['SUM(reorientation_en_dut_1_an)'], "après 2 ans": data[0]['SUM(reorientation_en_dut_2_ans)'] } return jsonify(result)