Age | Commit message (Collapse) | Author |
|
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Le nouveau format utilisé requiert d’effectuer des requêtes POST et
non plus GET, une URL n’est donc plus suffisante pour indiquer la
source. Un champ `metadata' est rajouté, contenant une métadonnée au
format texte. Il serait plus judicieux d’utiliser un champ JSONField,
mais ce type est restreint à PostgreSQL (mon environnement de
développement utilise toujours SQLite).
Les ID des cours dans celcat ne sont plus de simples nombres mais des
chaînes de caractères. Ce changement est donc reflété dans le modèle
des cours.
Dans le nouveau format, si un cours a plus de 3 groupes, seul les 3
premiers groupes sont listés, les autres sont marqués avec un texte du
genre « 2 autres… ». (Ça fait 2 ans et demi que je travaille sur ce
projet, et plus le temps passe, plus j’ai l’impression que la drogue
est un outil de travail comme un autre chez celcat.) Le champ `buggy'
est rajouté pour indiquer si c’est le cas de ce cours ou non, ce qui
permettra d’ajouter une remarque sur les pages ouèbe ou les ICS.
Les interfaces d’administration sont modifiées pour intégrer ces
changements.
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Il peut être intéressant de lister les cours par module (UE). Une
table est donc rajoutée pour stocker cette information et permettre
d’effectuer des recherches et des tris.
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Les cours dans celcat ont un champ id. Ce changement permet de le
stocker dans la base de données (sous la forme d’un entier) et de
l’afficher dans l’interface d’administration.
Pour l’instant, on ne sait pas si cette valeur est unique ou non. Il
n’y a donc pas de contraintes sur ce champ pour le moment.
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Certains cours ont des noms trop long pour entrer dans la limite de
255 caractères.
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
|
|
|
|
|
|
|
|
|
|
cours d’une salle pour économiser les requêtes et augmenter les performances
|
|
rapide à exécuter sur de gros volumes de données. On aura peut-être
besoin d’utiliser un double index pour augmenter encore plus les
performances.
La requête liste tous les cours commençant avant la fin de
l’intervalle et finissant après le début de l’intervalle, en excluant
les cours n’ayant pas de salle assignée. On récupère ensuite la liste
des salles de ces cours, et on inverse le contenu de la liste. On trie
ensuite les cours par leur nom.
|
|
Pour chaque salle, on compte tous les cours commençant avant la fin de
l’intervalle entré par l’utilisateur et finissant après le début de
cet intervalle. Tous les cours correspondant à cette requête
se trouvent au moins en partie sur l’intervalle.
On sélectionne ensuite les salles n’ayant pas de cours correspondant à
la requête précédente.
|
|
On y créée sept salles, avec différents agencements de cours :
0. Le cours se finit dans l’intervalle sélectionné
1. Le cours se commence dans l’intervalle
2. Combinaison de 0. et de 1.
3. Le cours commence avant et fini après l’intervalle
4. Le cours commence et fini pendant l’intervalle
5. Un cours se finit avant et un autre commence après
6. Aucun cours
liste des salles.
Normalement, seules les salles des cas cinq et six doivent se
retrouver dans la liste des salles.
|
|
|
|
|
|
|
|
La requête est assez longue à s’effectuer sur SQLite, mais pas sur PostgreSQL
|
|
si un cours n’en a pas, au lieu de se baser sur le nombre de salles
d’un cours pour faire ce choix.
Suppression du préchargement des salles lorsqu’on demande les cours
d’une salle. Cela permet de réduire le nombre de requêtes effectuées.
|
|
salles. Réduit le nombre de requêtes à effectuer ainsi que le temps de traitement.
|
|
|
|
ni une salle
|
|
|
|
|
|
années
Réduit considérablement le nombre d’appels effectués dans l’interface
d’administration
|
|
|
|
|
|
|
|
C’est à partir de ce commit que la migration fournie sur la ML est utilisable.
|
|
l’autre pour les sources
|
|
PAS APRÈS AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
|
|
|
|
|
|
|
|
|
|
|
groupe (si jamais il n’y a pas de semestre), renvoi du numéro de
semestre dans group_info, adaptation de corresponds_to.
|
|
|
|
– sélection des cours d’un groupe : préchargement des
salles
– sélection des emplois du temps d’une année : préchargement de
l’année
|
|
|
|
car dans le seul appel « utile », les arguments passés font forcément
partie du même edt. Changement effectué pour des questions de
performance.
Correction des tests.
|
|
Modification des tests
|
|
|
|
|
|
différente.
L’annotation Count() renvoie plusieurs valeurs différentes, alors que Subquery n’en accepte
qu’une seule.
Corrigé en rajoutant une valeur statique (0) par annotation et en regroupant en se basant
sur cette valeur.
|
|
|
|
groupes ont le même nom mais pas le même semestre.
|
|
d’administration n’est plus obligatoire.
|
|
This reverts commit 0c2937bab77280beaabe7d53a77c848848845950.
|
|
Le + 1 doit venir _après_ len(), pas pendant…
|