forked from ScoDoc/DocScoDoc
52 lines
1.5 KiB
Python
52 lines
1.5 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
"""Affiche nombre d'inscriptions aux semestres pour chaque etudiant
|
|
|
|
et supprime les etudiants jamais inscrits ayant un homonyme exact
|
|
(erreur passage GEA, fev 2007)
|
|
"""
|
|
|
|
from __future__ import print_function
|
|
import csv
|
|
import pdb
|
|
import sys
|
|
import psycopg2
|
|
|
|
DBCNXSTRING = "host=localhost user=scogea dbname=SCOXXXX password=XXXXX"
|
|
|
|
SCO_ENCODING = "utf-8"
|
|
|
|
cnx = psycopg2.connect(DBCNXSTRING)
|
|
|
|
cursor = cnx.cursor()
|
|
cursor.execute("select * from identite i order by nom")
|
|
R = cursor.dictfetchall()
|
|
|
|
nzero = 0
|
|
nhomonoins = 0
|
|
print("etudid, nom, prenom, nb_inscriptions")
|
|
for e in R:
|
|
cursor.execute(
|
|
"select count(*) from notes_formsemestre_inscription where etudid=%(etudid)s",
|
|
{"etudid": e["etudid"]},
|
|
)
|
|
nbins = cursor.fetchone()[0]
|
|
if nbins == 0:
|
|
nzero += 1
|
|
# recherche homonyme
|
|
cursor.execute(
|
|
"select * from identite i where nom=%(nom)s and prenom=%(prenom)s", e
|
|
)
|
|
H = cursor.dictfetchall()
|
|
if len(H) == 2:
|
|
nhomonoins += 1
|
|
print(e["etudid"], e["nom"], e["prenom"], nbins)
|
|
# etudiant non inscrit ayant un homonyme exact:
|
|
# il doit etre supprimé !!!
|
|
# cursor.execute("delete from admissions where etudid=%(etudid)s", e)
|
|
# cursor.execute("delete from identite where etudid=%(etudid)s", e)
|
|
|
|
cnx.commit()
|
|
|
|
print("= %d etudiants, %d jamais inscrits, %d avec homo" % (len(R), nzero, nhomonoins))
|