# -*- 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

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 = context.Notes._getNotesCache().get_NotesTable(context.Notes, 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()