# HG changeset patch # User Matti Hamalainen # Date 1294775932 -7200 # Node ID 7fca87c41e179a43835bda56b80b9b343cbfa8e0 # Parent 3d6a83eaa2bad36e5e32a21ec9e78b91a3557dcf Added data fetching and updating shellscript. diff -r 3d6a83eaa2ba -r 7fca87c41e17 update.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/update.sh Tue Jan 11 21:58:52 2011 +0200 @@ -0,0 +1,46 @@ +#!/bin/sh +URLPREFIX="http://www.oamk.fi/tyojarjestykset/otek/luokat/" +URLSUFFIX=".htm" +CACHEDIR="cache/" +LISTFILE="luokat.tmp" +CLASSFILE="luokat.txt" + + +if wget -q -O "$LISTFILE" "$URLPREFIX"; then + perl -ne 'if (//) { print "$1\n"; }' < "$LISTFILE" > "$CLASSFILE" +fi + + +cat "$CLASSFILE" | while read i; do + parse=no + INFILE="${CACHEDIR}${i}.html" + wget -q -O "$INFILE.new" "${URLPREFIX}OR_${i}${URLSUFFIX}" + + if test -e "$INFILE.new"; then + # New data fetched, does old file exist? + if test -e "$INFILE"; then + # Yes, do a diff + if diff "$INFILE" "$INFILE.new"; then + # There were differences, do a parse + parse=yes + mv "$INFILE.new" "$INFILE" + fi + else + # No old file, parse new data + mv "$INFILE.new" "$INFILE" + parse=yes + fi + else + # No new file fetched, does datafile exist? + if test ! -e "$i.data"; then + # No, try to parse it if old file input exists + parse=yes + fi + fi + + # Parsing of old data requested? + if test "x$parse" = "xyes" -a -e "$INFILE"; then + perl parsedata.pl -php "$INFILE" -o "${CACHEDIR}/$i.data" + fi +done +