Files
Infra-LAB/projects/MDT/Scripts/sites/s2079-coll.ini
T
2026-06-01 21:16:12 +02:00

365 lines
5.3 KiB
INI

```python
# Let's create the requested INI file layout based on the rules and the provided image.
# Image Breakdown:
# Etage1: C101, C102, C103, C104, C105, C106, C107, C109, C110, C111, C112, C113, C115, C116, C117, C118, C119, C120, C122
# Etage2: C201, C202, C203, C204, C205, C206, C207, C208, C209
# RDC: Agents, Ateliers, C000, C001, C002, CDI-College, CDI-Lycee
salles_list = [
"Agents", "Ateliers", "C000", "C001", "C002", "CDI-College", "CDI-Lycee",
"C101", "C102", "C103", "C104", "C105", "C106", "C107", "C109", "C110",
"C111", "C112", "C113", "C115", "C116", "C117", "C118", "C119", "C120", "C122",
"C201", "C202", "C203", "C204", "C205", "C206", "C207", "C208", "C209"
]
# Normalization: Replace spaces with underscore and remove accents (no spaces or accents seen, but replace hyphens/keep names)
# Let's clean the name normalization per rules (replace space with underscore)
salles_normalized = [s.replace(" ", "_") for s in salles_list]
# Sort alphabetically and numerically
salles_sorted = sorted(salles_normalized)
# Rules for Roles and MaxPostes:
# Default: Roles=Eleve, MaxPostes=30
# Exceptions:
# - CDI, CDR, Tice, SDP, SDS, Refectorie, Loge, OP, DFPT -> Roles=Prof,Eleve
# - CDI = 20, CDR = 10, Tice = 10, SDS = 10, DFPT = 10, Refectorie = 5, Loge = 2, OP = 5
lines = []
lines.append("[Default]")
lines.append(f"Salles={','.join(salles_sorted)}")
lines.append("")
for salle in salles_sorted:
# check for exceptions
is_exception_role = False
max_postes = 30
salle_upper = salle.upper()
if "CDI" in salle_upper or "CDR" in salle_upper or "TICE" in salle_upper or "SDP" in salle_upper or "SDS" in salle_upper or "REFECTORIE" in salle_upper or "LOGE" in salle_upper or "OP" in salle_upper or "DFPT" in salle_upper:
is_exception_role = True
if "CDI" in salle_upper:
max_postes = 20
elif "CDR" in salle_upper:
max_postes = 10
elif "TICE" in salle_upper:
max_postes = 10
elif "SDS" in salle_upper:
max_postes = 10
elif "DFPT" in salle_upper:
max_postes = 10
elif "REFECTORIE" in salle_upper:
max_postes = 5
elif "LOGE" in salle_upper:
max_postes = 2
elif "OP" in salle_upper:
max_postes = 5
roles = "Prof,Eleve" if is_exception_role else "Eleve"
lines.append(f"[{salle}]")
lines.append(f"Roles={roles}")
lines.append(f"MaxPostes={max_postes}")
lines.append("")
ini_content = "\n".join(lines)
print(ini_content)
with open("salles.ini", "w") as f:
f.write(ini_content)
```
```text
[Default]
Salles=Agents,Ateliers,C000,C001,C002,C101,C102,C103,C104,C105,C106,C107,C109,C110,C111,C112,C113,C115,C116,C117,C118,C119,C120,C122,C201,C202,C203,C204,C205,C206,C207,C208,C209,CDI-College,CDI-Lycee
[Agents]
Roles=Eleve
MaxPostes=30
[Ateliers]
Roles=Eleve
MaxPostes=30
[C000]
Roles=Eleve
MaxPostes=30
[C001]
Roles=Eleve
MaxPostes=30
[C002]
Roles=Eleve
MaxPostes=30
[C101]
Roles=Eleve
MaxPostes=30
[C102]
Roles=Eleve
MaxPostes=30
[C103]
Roles=Eleve
MaxPostes=30
[C104]
Roles=Eleve
MaxPostes=30
[C105]
Roles=Eleve
MaxPostes=30
[C106]
Roles=Eleve
MaxPostes=30
[C107]
Roles=Eleve
MaxPostes=30
[C109]
Roles=Eleve
MaxPostes=30
[C110]
Roles=Eleve
MaxPostes=30
[C111]
Roles=Eleve
MaxPostes=30
[C112]
Roles=Eleve
MaxPostes=30
[C113]
Roles=Eleve
MaxPostes=30
[C115]
Roles=Eleve
MaxPostes=30
[C116]
Roles=Eleve
MaxPostes=30
[C117]
Roles=Eleve
MaxPostes=30
[C118]
Roles=Eleve
MaxPostes=30
[C119]
Roles=Eleve
MaxPostes=30
[C120]
Roles=Eleve
MaxPostes=30
[C122]
Roles=Eleve
MaxPostes=30
[C201]
Roles=Eleve
MaxPostes=30
[C202]
Roles=Eleve
MaxPostes=30
[C203]
Roles=Eleve
MaxPostes=30
[C204]
Roles=Eleve
MaxPostes=30
[C205]
Roles=Eleve
MaxPostes=30
[C206]
Roles=Eleve
MaxPostes=30
[C207]
Roles=Eleve
MaxPostes=30
[C208]
Roles=Eleve
MaxPostes=30
[C209]
Roles=Eleve
MaxPostes=30
[CDI-College]
Roles=Prof,Eleve
MaxPostes=20
[CDI-Lycee]
Roles=Prof,Eleve
MaxPostes=20
```
[Default]
Salles=Agents,Ateliers,C000,C001,C002,C101,C102,C103,C104,C105,C106,C107,C109,C110,C111,C112,C113,C115,C116,C117,C118,C119,C120,C122,C201,C202,C203,C204,C205,C206,C207,C208,C209,CDI-College,CDI-Lycee
[Agents]
Roles=Eleve
MaxPostes=30
[Ateliers]
Roles=Eleve
MaxPostes=30
[C000]
Roles=Eleve
MaxPostes=30
[C001]
Roles=Eleve
MaxPostes=30
[C002]
Roles=Eleve
MaxPostes=30
[C101]
Roles=Eleve
MaxPostes=30
[C102]
Roles=Eleve
MaxPostes=30
[C103]
Roles=Eleve
MaxPostes=30
[C104]
Roles=Eleve
MaxPostes=30
[C105]
Roles=Eleve
MaxPostes=30
[C106]
Roles=Eleve
MaxPostes=30
[C107]
Roles=Eleve
MaxPostes=30
[C109]
Roles=Eleve
MaxPostes=30
[C110]
Roles=Eleve
MaxPostes=30
[C111]
Roles=Eleve
MaxPostes=30
[C112]
Roles=Eleve
MaxPostes=30
[C113]
Roles=Eleve
MaxPostes=30
[C115]
Roles=Eleve
MaxPostes=30
[C116]
Roles=Eleve
MaxPostes=30
[C117]
Roles=Eleve
MaxPostes=30
[C118]
Roles=Eleve
MaxPostes=30
[C119]
Roles=Eleve
MaxPostes=30
[C120]
Roles=Eleve
MaxPostes=30
[C122]
Roles=Eleve
MaxPostes=30
[C201]
Roles=Eleve
MaxPostes=30
[C202]
Roles=Eleve
MaxPostes=30
[C203]
Roles=Eleve
MaxPostes=30
[C204]
Roles=Eleve
MaxPostes=30
[C205]
Roles=Eleve
MaxPostes=30
[C206]
Roles=Eleve
MaxPostes=30
[C207]
Roles=Eleve
MaxPostes=30
[C208]
Roles=Eleve
MaxPostes=30
[C209]
Roles=Eleve
MaxPostes=30
[CDI-College]
Roles=Prof,Eleve
MaxPostes=20
[CDI-Lycee]
Roles=Prof,Eleve
MaxPostes=20