DocScoDoc/scotests/test-all-moys.py

48 lines
1.1 KiB
Python

# -*- mode: python -*-
# -*- coding: utf-8 -*-
"""
Enregistre les moyennes générales de tous les étudiants de tous les
semestres.
A utiliser avec debug.py (côté serveur).
"""
from __future__ import print_function
from debug import go_dept
import time
from app.scodoc import sco_cache
DeptName = "CJ"
context = go_dept(app, DeptName)
sems = context.Notes.formsemestre_list()
print("%d semestres" % len(sems))
L = []
n = 0
for sem in sems:
formsemestre_id = sem["formsemestre_id"]
nt = sco_cache.NotesTableCache.get(formsemestre_id)
etudids = nt.get_etudids()
use_ue_coef = sco_preferences.get_preference(
context, "use_ue_coefs", formsemestre_id
)
n += 1
print("%d %s (%d) use_ue_coef=%s" % (n, formsemestre_id, len(etudids), use_ue_coef))
for etudid in etudids:
mg = nt.get_etud_moy_gen(etudid)
L.append((formsemestre_id, str(use_ue_coef), etudid, str(mg)))
print("Done: %s moys computed" % len(L))
filename = "/opt/tests/%s-%s" % (DeptName, time.strftime("%Y-%m-%dT%H:%M:%S"))
print("Writing file '%s'..." % filename)
f = open(filename, "w")
for l in L:
f.write("\t".join(l) + "\n")
f.close()