from app import models


def get_etud_from_etudid_or_nip_or_ine(
    etudid=None, nip=None, ine=None
) -> models.Identite:
    """
    etudiant en fonction de l'etudid, code nip et code ine rentré en paramètres

    etudid : None ou un int etudid
    nip : None ou un int code_nip
    ine : None ou un int code_ine

    Return None si étudiant inexistant.
    """
    if etudid is None:
        if nip is None:  # si ine
            etud = models.Identite.query.filter_by(code_ine=str(ine)).first()
        else:  # si nip
            etud = models.Identite.query.filter_by(code_nip=str(nip)).first()
    else:  # si etudid
        etud = models.Identite.query.filter_by(id=etudid).first()

    return etud