100 lines
2.6 KiB
Python
100 lines
2.6 KiB
Python
#!/usr/bin/env python3
|
||
# -*- encoding: utf-8 -*-
|
||
|
||
import someUtils
|
||
|
||
someUtils.rmf('out')
|
||
|
||
someUtils.mkdirp('in')
|
||
someUtils.mkdirp('out')
|
||
|
||
mkTpt = ''
|
||
|
||
nameReplaces = [
|
||
(' ' ,'_'),
|
||
('+' ,'-'),
|
||
('=' ,'-'),
|
||
('$' ,'-'),
|
||
('%' ,'-'),
|
||
('#' ,'-'),
|
||
('@' ,'-'),
|
||
('!' ,'-'),
|
||
('&' ,'-'),
|
||
('\'','-'),
|
||
('"' ,'-'),
|
||
('(' ,'-'),
|
||
(')' ,'-'),
|
||
('[' ,'-'),
|
||
(']' ,'-'),
|
||
('{' ,'-'),
|
||
('}' ,'-'),
|
||
('^' ,'-'),
|
||
('~' ,'-'),
|
||
('´' ,'-'),
|
||
('`' ,'-'),
|
||
(':' ,'-'),
|
||
(';' ,'-'),
|
||
('?' ,'-'),
|
||
('\\','-'),
|
||
('/' ,'-'),
|
||
('|' ,'-'),
|
||
('ª' ,'-'),
|
||
('º' ,'-'),
|
||
('°' ,'-'),
|
||
('.' ,'-'),
|
||
(',' ,'-'),
|
||
('<' ,'-'),
|
||
('>' ,'-'),
|
||
]
|
||
|
||
for projeto in someUtils.listSubdirectories('in'):
|
||
projetoNomeFinal = projeto
|
||
for replacement in nameReplaces:
|
||
projetoNomeFinal = projetoNomeFinal.replace(*replacement)
|
||
someUtils.mkdirp('out/'+projetoNomeFinal)
|
||
submissao = 0
|
||
tabelaTraducao = dict()
|
||
for aluno in list(sorted(someUtils.listSubdirectories('in/'+projeto))):
|
||
submissao+=1
|
||
alunoFinal = 'al_%05d'%(submissao)
|
||
tabelaTraducao[alunoFinal] = aluno
|
||
someUtils.mkdirp('out/'+projetoNomeFinal+'/'+alunoFinal)
|
||
for cnt, arquivoSubmetido in enumerate(someUtils.listDirectory('in/'+projeto+'/'+aluno)):
|
||
ext = arquivoSubmetido.split('.')[-1]
|
||
try:
|
||
mkTpt = someUtils.readAllFile('makefile_'+ext+'.template')
|
||
except:
|
||
continue
|
||
originalExtLess = arquivoSubmetido.split('.')[0]
|
||
submissaoFinal = 'submissao_%d.c'%cnt
|
||
codigo = someUtils.readAllFile(
|
||
'in/'+projeto+'/'+aluno+'/'+arquivoSubmetido,
|
||
True
|
||
)
|
||
someUtils.saveFile(
|
||
'out/'+projetoNomeFinal+'/'+alunoFinal+'/'+submissaoFinal,
|
||
codigo
|
||
)
|
||
someUtils.saveFile(
|
||
'out/'+projetoNomeFinal+'/'+alunoFinal+'/makefile',
|
||
mkTpt.format(*[submissaoFinal,originalExtLess,ext])
|
||
)
|
||
someUtils.saveFile(
|
||
'out/'+projetoNomeFinal+'/'+alunoFinal+'/arquivoentrada',
|
||
''
|
||
)
|
||
someUtils.saveObject(
|
||
'out/'+projetoNomeFinal+'/identidades.json',
|
||
tabelaTraducao
|
||
)
|
||
someUtils.saveObject(
|
||
'out/'+projetoNomeFinal+'/intervalonotas.csv',
|
||
'0/100'
|
||
)
|
||
someUtils.saveFile(
|
||
'out/'+projetoNomeFinal+'/notastreino.csv',
|
||
'\n'.join([aluno+';0.0' for aluno in list(sorted(tabelaTraducao.keys()))])
|
||
)
|
||
pass
|
||
|