Merge pull request #3 from Ant020/main

Ajout du support de l'heure de fermeture du batiment des sciences
This commit is contained in:
Marsisus 2024-12-16 22:31:19 +01:00 committed by GitHub
commit e4ffc90208
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 12 additions and 8 deletions

View File

@ -22,17 +22,19 @@ def create_edt(heure:int, semestre:int, day:str) -> list[(int, str, int)]:
# initialize the coords of the cell # initialize the coords of the cell
row = 3 + (heure - 8) + 11*day_number_sem row = 3 + (heure - 8) + 11*day_number_sem
column = 0 column = 0
for i, cell in enumerate(sheet[row][1:]): for cell in sheet[row][1:]:
column+=1 column+=1
val = cell.value val = cell.value
if isEmptyRoom(val): if isEmptyRoom(val):
try: try:
freeTime = getFreeDuration(sheet, row, column, day_number_sem) roomName = sheet.cell(row=1, column=cell.column).value
temp = sheet.cell(row=1, column=cell.column).value
if temp is not None: if roomName is not None:
coordinates.append((temp, sheet.cell(row=2, column=cell.column).value, freeTime)) freeTime = getFreeDuration(sheet, row, column, day_number_sem, ("R"==roomName[0]))
coordinates.append((roomName, sheet.cell(row=2, column=cell.column).value, freeTime))
except Exception as e: except Exception as e:
print(f"Error: {e}") print(f"\033[91mError: {e}\033[0m") # affiche en rouge l'erreur
return coordinates return coordinates
@ -44,7 +46,7 @@ def isThisDay(row:int, dayNumber: int) -> bool :
return 3 + 11*dayNumber <= row <= 13 + 11*dayNumber return 3 + 11*dayNumber <= row <= 13 + 11*dayNumber
def getFreeDuration(sheet, row:int, column:int, dayNumber:int) -> int: def getFreeDuration(sheet, row:int, column:int, dayNumber:int, isScienceBat:bool) -> int:
i = 0 i = 0
val = sheet[row][column].value val = sheet[row][column].value
while isEmptyRoom(val) and isThisDay(row, dayNumber): while isEmptyRoom(val) and isThisDay(row, dayNumber):
@ -52,7 +54,9 @@ def getFreeDuration(sheet, row:int, column:int, dayNumber:int) -> int:
row += 1 row += 1
val = sheet[row][column].value val = sheet[row][column].value
if not isThisDay(row, dayNumber):
#complète jusqu'à 21 si la salle est libre après
if not isThisDay(row, dayNumber) and not isScienceBat:
return i + 3 return i + 3
return i return i