############################################################################## # 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 )