#!/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))