Estou em Inicio > ELC117 > quadgen
quadgen
é um script bash que recebe um arquivo csv simplificado
com horários de disciplinas de um aluno e gera um quadro
de horários do mesmo com base em um template. O modo de usá-lo é bem simples.
Para quem já esta acostumado com os comandos do unix é barbada ;)
Típica linha de comando do quadgen
:
quadgen horarios.csv template.html > quadro.html
O quadgen
gera o quadro de horário na saída padrão para que seja possível
utiliza-lo em uma linha mais complexa dentro de outros scripts. Ele possui apenas
2 parâmetros obrigatórios. Sendo que o primeiro é o arquivo CSV simplificado
e o segundo é o arquivo de template. Ambos arquivos serão explicados com mais
detalhes a seguir. Para consultar o help unix-like o script pode
ser invocado assim:
quadgen --help
Um resumão do que foi utilizado para criar o script:
Também conhecido por linha de comando do linux,console,shell, prompt de comando ou simplesmente Ah! Aquela tela preta!. Ele interpreta comandos e executa. Quando se colocam vários comandos num arquivo temos um shell script e o quadgen, é isso. Dentro de um script se pode reaproveitar outros programas e combinar suas funcionalidades.
Processdor de uma mini-linguagem baseada em expressões regulares e arrays associativos. Foi utilizado para separar os campos do arquivo csv e montar um arquivo .sed
Programa para editar texto em modo-não iterativo com expressões regulares. Foi usado somente para substituir texto mas a sua potencialidade está muito além disso
Vale para o arquivo csv o seguinte:
Exemplo do arquivo:
"NOMEALUNO","CODDISCIPLINA","NOMEDISCIPLINA","DIASEMANA","HORAINICIO","HORAFIM" "Fulano","ELC1012","ARQUITETURA DE COMPUTADORES","Quarta-feira",16:30:00,18:30:00 "Fulano","ELC1012","ARQUITETURA DE COMPUTADORES","Quinta-feira",14:30:00,16:30:00 "Fulano","ELC1012","ARQUITETURA DE COMPUTADORES","Sexta-feira",14:30:00,16:30:00 "Fulano","STC303","ESTATISTICA","Quinta-feira",16:30:00,18:30:00 "Fulano","STC303","ESTATISTICA","Sexta-feira",16:30:00,18:30:00 "Fulano","FSC135","ELETRICIDADE E MAGNETISMO A,"Segunda-feira",14:30:00,16:30:00 "Fulano","FSC135","ELETRICIDADE E MAGNETISMO A,"Terca-feira",14:30:00,16:30:00 "Fulano","FSC135","ELETRICIDADE E MAGNETISMO A,"Quarta-feira",14:30:00,16:30:00 "Fulano","ELC118","PESQUISA E ORDENACAO DE DADOS","Terca-feira",18:30:00,20:30:00 "Fulano","ELC118","PESQUISA E ORDENACAO DE DADOS","Quarta-feira",18:30:00,20:30:00 "Fulano","ELC117","PARADIGMAS DE PROGRAMACAO","Segunda-feira",16:30:00,18:30:00 "Fulano","ELC117","PARADIGMAS DE PROGRAMACAO","Terca-feira",16:30:00,18:30:00
Os templates (modelos) servem para garantir a flexibilidade no formato de saída do quadro de horários. É basicamente um arquivo texto com marcações do tipo ##TAG## onde serão inseridos dados de disciplinas do aluno.
Exemplo de um template html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <META NAME="generator" CONTENT="http://txt2tags.sf.net"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> </HEAD><BODY BGCOLOR="white" TEXT="black"> <FONT SIZE="4"> </FONT></CENTER> <H2>Quadro de Horários de ##NOME_ALUNO##</H2> <TABLE CELLPADDING="4" BORDER="1"> <TR> <TH>Horário</TH> <TH>Segunda</TH> <TH>Terça</TH> <TH>Quarta</TH> <TH>Quinta</TH> <TH>Sexta</TH> <TH>Sabado</TH> </TR> <TR> <TD>08:30-10:30</TD> <TD>##08:3010:30Seg##</TD> <TD>##08:3010:30Ter##</TD> <TD>##08:3010:30Qua##</TD> <TD>##08:3010:30Qui##</TD> <TD>##08:3010:30Sex##</TD> <TD>##08:3010:30Sab##</TD> </TR> <TR> <TD>10:30-12:30</TD> <TD>##10:3012:30Seg##</TD> <TD>##10:3012:30Ter##</TD> <TD>##10:3012:30Qua##</TD> <TD>##10:3012:30Qui##</TD> <TD>##10:3012:30Sex##</TD> <TD>##10:3012:30Sab##</TD> </TR> <TR> <TD>12:30-14:30</TD> <TD>##12:3014:30Seg##</TD> <TD>##12:3014:30Ter##</TD> <TD>##12:3014:30Qua##</TD> <TD>##12:3014:30Qui##</TD> <TD>##12:3014:30Sex##</TD> <TD>##12:3014:30Sab##</TD> </TR> <TR> <TD>14:30-16:30</TD> <TD>##14:3016:30Seg##</TD> <TD>##14:3016:30Ter##</TD> <TD>##14:3016:30Qua##</TD> <TD>##14:3016:30Qui##</TD> <TD>##14:3016:30Sex##</TD> <TD>##14:3016:30Sab##</TD> </TR> <TR> <TD>16:30-18:30</TD> <TD>##16:3018:30Seg##</TD> <TD>##16:3018:30Ter##</TD> <TD>##16:3018:30Qua##</TD> <TD>##16:3018:30Qui##</TD> <TD>##16:3018:30Sex##</TD> <TD>##16:3018:30Sab##</TD> </TR> <TR> <TD>18:30-20:30</TD> <TD>##18:3020:30Seg##</TD> <TD>##18:3020:30Ter##</TD> <TD>##18:3020:30Qua##</TD> <TD>##18:3020:30Qui##</TD> <TD>##18:3020:30Sex##</TD> <TD>##18:3020:30Sab##</TD> </TR> <TR> <TD>20:30-22:30</TD> <TD>##20:3022:30Seg##</TD> <TD>##20:3022:30Ter##</TD> <TD>##20:3022:30Qua##</TD> <TD>##20:3022:30Qui##</TD> <TD>##20:3022:30Sex##</TD> <TD>##20:3022:30Sab##</TD> </TR> </TABLE> <P></P> <!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) --> <!-- cmdline: txt2tags template.t2t --> </BODY></HTML>
O quadgen é distribuído sobre a GPL. Faça o download agora mesmo e comece a gerar os seus quadros de horários personalizados! Crie seus próprios templates!
E para você que fica se perguntando "Como é que fica então o meu horário utilizando o quadgen?" veja um exemplo de quadro aqui
Página atualizada em: Mon May 28 21:13:46 2007