MatLegat / ru-hoje

script para ver o cardápio do dia atual no RU da UFSC
4 stars 1 forks source link

Dias de final de semana mostram informações a mais #1

Closed zambonin closed 8 years ago

zambonin commented 8 years ago
 Arroz parboilizado/ Arroz integral
Feijão/Lentilha
Domingo
03/04/2016
ARROZ PARBOILIZADO : Arroz  parboilizado, sal, óleo de soja.ARROZ INTEGRAL: arroz integral, sal, óleo de soja.FEIJÃO : Feijão, cebola, sal, óleo de soja, alho em pasta, tempero verde, louro em folha, orégano, cominho.
LENTILHA: lentilha, cebola, sal, óleo de soja, alho em pasta, tempero verde, louro em folha, orégano.VINAGRETE: Tomate, cebola, vinagre,  tempero verde, sal.

Acho que isso é indesejado, né? Dá de usar grep -A NUM e evitar esse primeiro sed. E também não vai funcionar pra sábado por causa da falta do acento...

Caso queiras remover o switch, date tem o formato %a que mostra o dia da semana abreviado como string. Então, seu padrão pra botar no sed seria simplesmente date +%a. De resto, não precisa chamar ele duas vezes. Podes fazer sed -e comando1 -e comando2.

Se quiser tirar essa parte do wget porque ele não lida direto com páginas zipadas (nem sabia que isso existia!), podes usar a alternativa curl, com a flag --compressed. Dependendo da distribuição uma das duas vem instalada, sei como é.

Massa o script, especialmente o regex de tirar as linhas inúteis. :+1:

MatLegat commented 8 years ago

Hoje de manhã ele nem estava funcionando para sábado ou domingo, arrumei mas não aconteceu isso de mostrar os ingredientes.

A dica do date não funciona se o locale não estiver em pt_BR :(

Valeu pela dica do curl, já tinham me dado ela haha, mas ficou bem mais limpo.

Ontem vendo as incoerências do HTML da página (ex: strong dentro de strong, não seguir padrões), eu e um amigo chegamos à conclusão de que o cardápio é feito no Word e salvo como HTML, e quando editarem o cardápio pode mudar bastante coisa no código, então vai ser sempre meio imprevisível mesmo.

Valeu o apoio!

zambonin commented 8 years ago

Será que LANG=pt_BR.UTF-8 date +%a não funcionaria, pra evitar o switch case?

O problema do curl é que talvez em outras distribuições não venha instalado porque wget é do GNU, mas realmente ficou elegante demais pra ignorar isso.

Pois é, não tem realmente o que fazer se vc se limitar a um script mais simples, com 5 linhas funcionais.

Uma sugestão legal é usar o http://www.shellcheck.net/ pra achar bugs que talvez a gente nem pense sobre (e também pra deixar POSIX-compliant se vc botar o shebang #!/bin/sh).

MatLegat commented 8 years ago

Agora está sendo usado o date +%a sem o case swich, já aproveitei e agora da pra passar a data por parâmetro também.

Coloquei outras regex antes pra buscar somente no cardápio mesmo (entre Sobremesa e Ingredientes), descartando conteúdo indesejado. Agora acho que a issue pode ser fechada.

Interessante mesmo esse shellcheck, valeu pela dica.