12 lutego 2009

Niecierpliwiec

Kolokwium już napisane, teraz najgorsze - czekanie na wyniki. Zazwyczaj sprawa wyglądała tak, że wchodziło się na stronę wykładowcy i odświeżało się ją co kilka minut. Na dłuższą metę jest to po prostu nie wygodne i męczące. A że potrzeba jest matką wynalazków... prezentuję niecierpliwca. Ten kilkulinijkowy skrypt ułatwia już życie niejednemu studentowi :)
#!/bin/bash
echo "Niecierpliwiec v. 0.3"
echo "Autor: Krzysztof Piecuch"
rm -f Wzorzec.html Kopia.html
wget -O Wzorzec.html -q $1

while [ true ]
do
sleep 20
wget -O Kopia.html -q $1
if ! diff -q Kopia.html Wzorzec.html
then
mplayer Muzyka/coś_tam.mp3
break
fi
rm -f Kopia.html
done
Program ma jedną wadę. Czasami zdarza się, że wgetowi nie uda się pobrać strony. Przez co tworzy w miejscu kopii pusty plik. Następnie diff wykrywa różnice między tym plikiem a wzorcem i wszczyna niepotrzebny alarm.
Program wciąż w fazie testów.
Zamiast uruchamiania mplayera polecam beepa. Jednak na moim sprzęcie beep nie działa :-) Życzę miłej zabawy i powodzenia w sesji poprawkowej ;-)

2 komentarze:

mgol pisze...

Przecież możesz zrobić:
wget cośtam || continue
i już. :)

Zakładam (nie sprawdzałem), że wget zwraca jakiś kod błędu, jeśli mu się nie uda pobrać strony.

mgol pisze...

Aha, do tych i innych niecnych celów można też użyć rozszerzenia do Firefoksa o nazwie "Update Scanner". :)