-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTableauDepart.py
72 lines (57 loc) · 2.68 KB
/
TableauDepart.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
__author__ = 'pehladik'
import xlrd
from Universite import Universite
from Programme import Programme
from constantes import *
class TableauDepart:
def __init__(self):
self.listeUniversite = []
def ajoutUniversite(self, universite):
self.listeUniversite.append(universite)
def __str__(self):
st = ''
for u in self.listeUniversite:
st += u.__str__() + "\n "
return st
def lectureTableau(self, nom_fichier):
wb = xlrd.open_workbook(nom_fichier)
sh = wb.sheet_by_name('Echange')
#premiere phase : creation des universites sans les programmes
for i in range(1,sh.nrows-1):
nom_univ = sh.cell_value(i,idx_depart_nom_univ)
if not any(u.est_present(nom_univ) for u in self.listeUniversite):
#if not (nom_univ in self.listeUniversite):
univ = Universite(nom_univ)
self.ajoutUniversite(univ)
#print self.__str__()
#seconde phase : on cree les programmes
for i in range(1,sh.nrows-1):
nom_univ = sh.cell_value(i,idx_depart_nom_univ)
if nom_univ.find('\n') != -1:
print ("ATTENTION l(" + str(i+1) + ")" ": saut a la ligne dans le nom")
specialites = sh.cell_value(i,idx_depart_specialite)
if specialites.find('\n') != -1:
print ("ATTENTION l(" + str(i+1) + ")" ": saut a la ligne dans la specialite")
#print nom_univ + " " + specialites
if specialites == 'Toutes':
listeSpecialites = listeFilieres
else:
#specialites = specialites.replace(' ','')
listeSpecialites = specialites.split('|| ')
listeSpecialites = list(map(lambda x: dicoFilieresEuuivalente[x] if (x!= "") else "toto" , listeSpecialites))
nbPlaces = 0
"""for j in range(0, 15):
n = sh.cell_value(i, 7 + j)
if type(n) == float:
nbPlaces += int(n)
elif type(n) == str:
if n == u'ND':
nbPlaces = ND"""
nbPlaces = int(sh.cell_value(i, idx_departs_nombre))
if nbPlaces == 0:
print ("ATTENTION l(" + str(i+1) +"): programme sans place")
programme = Programme(nbPlaces, listeSpecialites)
self.listeUniversite[[u.nom for u in self.listeUniversite].index(nom_univ)].ajouterProgramme(programme)
# TODO : diffencier les programmes en fonction des PO et des filieres (introduire PO-diff)
# TODO : mettre le nombre de places
#print self.__str__()