Update opolka/ScoDoc from ScoDoc/ScoDoc #2

Merged
opolka merged 1272 commits from ScoDoc/ScoDoc:master into master 2024-05-27 09:11:04 +02:00
Showing only changes of commit 8ec0171ca0 - Show all commits

View File

@ -3,7 +3,8 @@
"""Outils pour environnements de démo. """Outils pour environnements de démo.
Change aléatoirement les identites (nip, civilite, nom, prenom) des étudiants d'un semestre. Change aléatoirement les identites (nip, civilite, nom, prenom) des étudiants.
Un semestre ou tous si non spécifié.
Le NIP est choisi aléatoirement (nombre entier à 8 chiffres). Le NIP est choisi aléatoirement (nombre entier à 8 chiffres).
Les noms et prénoms sont issus des fichiers noms.txt, prenoms-h.txt, prenoms-f.txt Les noms et prénoms sont issus des fichiers noms.txt, prenoms-h.txt, prenoms-f.txt
@ -19,21 +20,24 @@ from gen_nomprenoms import nomprenom
def usage(): def usage():
print(f"Usage: {sys.argv[0]} dbname formsemestre_id") print(f"Usage: {sys.argv[0]} dbname [formsemestre_id]")
sys.exit(1) sys.exit(1)
if len(sys.argv) != 3: if len(sys.argv) not in (2, 3):
usage() usage()
dbname = sys.argv[1] dbname = sys.argv[1]
formsemestre_id = sys.argv[2] formsemestre_id = sys.argv[2] if len(sys.argv) > 2 else None
DBCNXSTRING = f"dbname={dbname}" DBCNXSTRING = f"dbname={dbname}"
# Liste des etudiants inscrits à ce semestre # Liste des etudiants inscrits à ce semestre
cnx = psycopg2.connect(DBCNXSTRING) cnx = psycopg2.connect(DBCNXSTRING)
cursor = cnx.cursor() cursor = cnx.cursor()
if formsemestre_id is None:
cursor.execute("SELECT i.id from identite i")
else:
cursor.execute( cursor.execute(
"select count(*) from notes_formsemestre where id=%(formsemestre_id)s", "select count(*) from notes_formsemestre where id=%(formsemestre_id)s",
{"formsemestre_id": formsemestre_id}, {"formsemestre_id": formsemestre_id},
@ -42,7 +46,6 @@ nsem = cursor.fetchone()[0]
if nsem != 1: if nsem != 1:
print(f"{nsem} formsemestre matching {formsemestre_id} in {dbname}") print(f"{nsem} formsemestre matching {formsemestre_id} in {dbname}")
sys.exit(2) sys.exit(2)
cursor.execute( cursor.execute(
"""select i.id """select i.id
from identite i, notes_formsemestre_inscription ins from identite i, notes_formsemestre_inscription ins