Merge branch 'master' of githubu:GeoffreyFrogeye/tp-info

This commit is contained in:
Jean-Loup Beaussart 2015-02-10 11:20:05 +01:00
commit 96d4844ace
3 changed files with 38 additions and 10 deletions

2
S2/TP3/.gitignore vendored
View file

@ -1 +1,3 @@
bataille_navale_graphique.py bataille_navale_graphique.py
jeu1.txt
jeu2.txt

View file

@ -1,7 +1,9 @@
FILES=bataille_navale_graphique.py jeu1.txt jeu2.txt
lexique.py: lexique.py:
wget "http://www.fil.univ-lille1.fr/~L1S2API/CoursTP/tp_bataille_navale.zip" 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 rm -rf tp_bataille_navale.zip
clean: clean:
rm -rf bataille_navale_graphique.py bataille_navale_squelette.py rm -rf ${FILES} *.zip

38
auto.py
View file

@ -1,9 +1,11 @@
# Scipt permettant d'automatiser les TP # Scipt permettant d'automatiser les TP
import os import os
import zipfile
base = './' base = './'
rendeurs = [('BEAUSSART Jean-loup', 'Beaussart'), ('PREUD\'HOMME Geoffrey', 'PreudHomme')] rendeurs = [('BEAUSSART Jean-loup', 'Beaussart'),
('PREUD\'HOMME Geoffrey', 'PreudHomme')]
def chemin(semestre, tp=None): def chemin(semestre, tp=None):
@ -32,26 +34,48 @@ def tpProchain():
def tpEnCours(): def tpEnCours():
return tpProchain() - 1 return tpProchain() - 1
def fichiersTp(semestre, tp): def fichiersTp(semestre, tp):
return fichiersPythons # TODO .gitignore
# TODO .tpfiles
return fichiersPythons(semestre, tp)
def fichiersPythons(semestre, tp): def fichiersPythons(semestre, tp):
chem = chemin(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): def rendeur(semestre, tp):
for i in fichiersPythons(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 = '' rend = ''
rendeurMax = 500 rendeurMax = 500
for j in range(len(rendeurs)): for j in range(len(rendeurs)):
pos = texte.find(rendeurs[j][0]) pos = texte.find(rendeurs[j][0]) # TODO Gérer \'
if pos < rendeurMax: if pos < rendeurMax and pos >= 0:
rendeurMax = pos rendeurMax = pos
rend = j rend = j
if rend != '': if rend != '':
return rend return rend
return None 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())