diff --git a/S2/TP3/.gitignore b/S2/TP3/.gitignore index 2e1aac9..1c40fdc 100644 --- a/S2/TP3/.gitignore +++ b/S2/TP3/.gitignore @@ -1 +1,3 @@ -bataille_navale_graphique.py \ No newline at end of file +bataille_navale_graphique.py +jeu1.txt +jeu2.txt \ No newline at end of file diff --git a/S2/TP3/Makefile b/S2/TP3/Makefile index 5bfcd25..46420a0 100644 --- a/S2/TP3/Makefile +++ b/S2/TP3/Makefile @@ -1,7 +1,9 @@ +FILES=bataille_navale_graphique.py jeu1.txt jeu2.txt + lexique.py: wget "http://www.fil.univ-lille1.fr/~L1S2API/CoursTP/tp_bataille_navale.zip" - unzip tp_bataille_navale.zip bataille_navale_squelette.py + unzip tp_bataille_navale.zip ${FILES} rm -rf tp_bataille_navale.zip clean: - rm -rf bataille_navale_graphique.py bataille_navale_squelette.py + rm -rf ${FILES} *.zip diff --git a/auto.py b/auto.py index 57fe4d6..d076153 100644 --- a/auto.py +++ b/auto.py @@ -1,9 +1,11 @@ # Scipt permettant d'automatiser les TP import os +import zipfile base = './' -rendeurs = [('BEAUSSART Jean-loup', 'Beaussart'), ('PREUD\'HOMME Geoffrey', 'PreudHomme')] +rendeurs = [('BEAUSSART Jean-loup', 'Beaussart'), + ('PREUD\'HOMME Geoffrey', 'PreudHomme')] def chemin(semestre, tp=None): @@ -32,26 +34,48 @@ def tpProchain(): def tpEnCours(): return tpProchain() - 1 + def fichiersTp(semestre, tp): - return fichiersPythons + # TODO .gitignore + # TODO .tpfiles + return fichiersPythons(semestre, tp) + def fichiersPythons(semestre, tp): chem = chemin(semestre, tp) - return [os.path.join(chem, i) for i in os.listdir(chem) if os.path.isfile(os.path.join(chem, i))] + return [i for i in os.listdir(chem) if i.endswith('.py') and os.path.isfile(os.path.join(chem, i))] def rendeur(semestre, tp): for i in fichiersPythons(semestre, tp): - texte = open(i, 'r').read() + texte = open(os.path.join(chemin(semestre, tp), i), 'r').read() rend = '' rendeurMax = 500 for j in range(len(rendeurs)): - pos = texte.find(rendeurs[j][0]) - if pos < rendeurMax: + pos = texte.find(rendeurs[j][0]) # TODO GĂ©rer \' + if pos < rendeurMax and pos >= 0: rendeurMax = pos rend = j if rend != '': return rend return None -print('Rendeur du TP en cours :', rendeurs[rendeur(semestreEnCours(), tpEnCours())][0]) + +def personnesSurTP(semestre, tp): + rend = rendeur(semestre, tp) + personnes = [i[1] for i in rendeurs] + personnes.remove(rendeurs[rend][1]) + personnes = [rendeurs[rend][1]] + personnes + return personnes + +def creerZip(semestre, tp): + personnes = personnesSurTP(semestre, tp) + nomDossier = '_'.join(personnes) + nomZip = 'tp%d_%s.zip' % (tp, ('_'.join(personnes).lower())) + chem = chemin(semestre, tp) + fichierZip = zipfile.ZipFile(os.path.join(chem, nomZip), 'w') + for f in fichiersTp(semestre, tp): + fichierZip.write(os.path.join(chem, f), os.path.join(nomDossier, f)) + fichierZip.close() + +creerZip(semestreEnCours(), tpEnCours())