pcodigo2web/workspace/submissoes_normalizadorStan.../work.py

100 lines
2.6 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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