78 lines
1.9 KiB
Python
Executable File
78 lines
1.9 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# encoding: utf-8
|
|
|
|
import os, jinja2
|
|
import subprocess
|
|
import shlex
|
|
#from rd_fact import fact
|
|
#from rd_eq import eq
|
|
import exercices
|
|
import random
|
|
|
|
classes = {"4C" : [], "4D": []}
|
|
#classes = {"4C" : []}
|
|
#classes = {"3B": []}
|
|
|
|
def build_student(infos):
|
|
return {'nom':infos[1].capitalize(),
|
|
"prenom": infos[2].capitalize(),
|
|
"classe" : infos[0]}
|
|
|
|
with open('./comptes_eleves_LaboMEP.csv', 'r', encoding="latin1") as accounts_f:
|
|
for line in accounts_f:
|
|
line_l = line.split(";")
|
|
if line_l[0] in classes:
|
|
classes[line_l[0]] += [build_student(line_l)]
|
|
|
|
report_renderer = jinja2.Environment(
|
|
block_start_string = '%{',
|
|
block_end_string = '%}',
|
|
variable_start_string = '%{{',
|
|
variable_end_string = '%}}',
|
|
loader = jinja2.FileSystemLoader(os.path.abspath('.'))
|
|
)
|
|
template = report_renderer.get_template("./DM_avril2.tex")
|
|
|
|
for (classe, eleves) in classes.items():
|
|
path = "./"+classe
|
|
|
|
if not os.path.exists(path):
|
|
os.mkdir("./" + classe)
|
|
|
|
os.chdir("./" + classe)
|
|
|
|
i = 0
|
|
while i < len(eleves):
|
|
dest_file= "./DM_avril2_{i}.tex".format(i = int(i/2))
|
|
print(dest_file)
|
|
|
|
if i <= len(eleves) - 2:
|
|
eleve1 = eleves[i]
|
|
eleve2 = eleves[i+1]
|
|
#deux_eleves = mixing(eleves[i], eleves[i+1])
|
|
else:
|
|
eleve1 = eleves[i]
|
|
eleve2 = eleves[i]
|
|
#deux_eleves = mixing(eleves[i])
|
|
|
|
|
|
|
|
with open(dest_file, 'w') as f:
|
|
f.write(template.render({"eleve1" : eleve1, "eleve2" :eleve2, "exo": exercices, "random": random}))
|
|
|
|
proc=subprocess.Popen(shlex.split("pdflatex DM_avril2_{i}".format(i = int(i/2))))
|
|
proc.communicate()
|
|
|
|
i += 2
|
|
|
|
os.chdir("..")
|
|
|
|
|
|
|
|
|
|
|
|
# -----------------------------
|
|
# Reglages pour 'vim'
|
|
# vim:set autoindent expandtab tabstop=4 shiftwidth=4:
|
|
# cursor: 16 del
|