forked from ScoDoc/ScoDoc
63 lines
1.9 KiB
Python
63 lines
1.9 KiB
Python
##############################################################################
|
|
# Module "Avis de poursuite d'étude"
|
|
# conçu et développé par Cléo Baras (IUT de Grenoble)
|
|
##############################################################################
|
|
|
|
"""
|
|
Created on 01-2024
|
|
|
|
@author: barasc
|
|
"""
|
|
|
|
from app.models import FormSemestre
|
|
import app.pe.rcss.rcss_constantes as rcss_constantes
|
|
|
|
|
|
|
|
def get_descr_rcs(nom_rcs: str) -> str:
|
|
"""Renvoie la description pour les tableurs de synthèse
|
|
Excel d'un nom de RCS"""
|
|
return rcss_constantes.TYPES_RCS[nom_rcs]["descr"]
|
|
|
|
|
|
class RCS:
|
|
"""Modélise un regroupement cohérent de semestres (formsemestre ou de Sx)"""
|
|
|
|
def __init__(self, nom_rcs: str, semestre_final: FormSemestre):
|
|
self.nom: str = nom_rcs
|
|
"""Nom du RCS"""
|
|
|
|
self.formsemestre_final: FormSemestre = semestre_final
|
|
"""FormSemestre terminal du RCS"""
|
|
|
|
self.rang_final = self.formsemestre_final.semestre_id
|
|
"""Le rang du formsemestre final"""
|
|
|
|
self.rcs_id: (str, int) = (nom_rcs, semestre_final.formsemestre_id)
|
|
"""Identifiant du RCS sous forme (nom_rcs, id du semestre_terminal)"""
|
|
|
|
def get_formsemestre_id_final(self) -> int:
|
|
"""Renvoie l'identifiant du formsemestre final du RCS
|
|
|
|
Returns:
|
|
L'id du formsemestre final (marquant la fin) du RCS
|
|
"""
|
|
return self.formsemestre_final.formsemestre_id
|
|
|
|
def __str__(self):
|
|
"""Représentation textuelle d'un RCS"""
|
|
return f"{self.nom}[#{self.formsemestre_final.formsemestre_id}✟{self.formsemestre_final.date_fin.year}]"
|
|
|
|
def get_repr(self, verbose=True):
|
|
"""Représentation textuelle d'un RCS"""
|
|
return self.__str__()
|
|
|
|
def __eq__(self, other):
|
|
"""Egalité de RCS"""
|
|
return (
|
|
self.nom == other.nom
|
|
and self.formsemestre_final == other.formsemestre_final
|
|
)
|
|
|
|
|