use loops for weather stations

This commit is contained in:
Peter Boráros 2013-06-04 18:02:29 +02:00
parent 41744ccc85
commit 352d86ce9c
2 changed files with 43 additions and 84 deletions

View file

@ -1,25 +1,21 @@
.PHONY : clean refresh
HAML=haml
XMLLINT=xmllint --html --nowarning
# expand as needed
VODASTATIONS=307225 307081 307228
# option #1
VODAURL=http://hydro.chmi.cz/hpps/popup_hpps_prfdyn.php?seq=307225
VODAIMG1=http://hydro.chmi.cz/hpps/tmp/img/big/307225_H.png
VODAIMG2=http://hydro.chmi.cz/hpps/tmp/img/big/307225_Q.png
VODAURL_MELNIK=http://hydro.chmi.cz/hpps/popup_hpps_prfdyn.php?seq=307081
VODAIMG1_MELNIK=http://hydro.chmi.cz/hpps/tmp/img/big/307081_H.png
VODAIMG2_MELNIK=http://hydro.chmi.cz/hpps/tmp/img/big/307081_Q.png
VODAURL_USTI=http://hydro.chmi.cz/hpps/popup_hpps_prfdyn.php?seq=307228
VODAIMG1_USTI=http://hydro.chmi.cz/hpps/tmp/img/big/307228_H.png
VODAIMG2_USTI=http://hydro.chmi.cz/hpps/tmp/img/big/307228_Q.png
VODAURL=http://hydro.chmi.cz/hpps/popup_hpps_prfdyn.php?seq=$(STATION)
VODAIMG1=http://hydro.chmi.cz/hpps/tmp/img/big/$(STATION)_H.png
VODAIMG2=http://hydro.chmi.cz/hpps/tmp/img/big/$(STATION)_Q.png
VODAXPATH=//table[@class="stdstationtbl"]/./tr[3]//table/tr[position()>1]
# option #2
#VODAURL=http://vvv.chmi.cz/hydro/detail_stanice/307225.html
#VODAIMG1=http://vvv.chmi.cz/hydro/graph/big/307225_H.png
#VODAIMG2=http://vvv.chmi.cz/hydro/graph/big/307225_Q.png
#VODAURL=http://vvv.chmi.cz/hydro/detail_stanice/$(STATION).html
#VODAIMG1=http://vvv.chmi.cz/hydro/graph/big/$(STATION)_H.png
#VODAIMG2=http://vvv.chmi.cz/hydro/graph/big/$(STATION)_Q.png
#VODAXPATH=//table[2]//tr[3]/td//table//tr[position()>1]
DOPRAVAURL=http://www.dpp.cz/povodne-aktualni-doprava/
@ -27,21 +23,19 @@ DOPRAVATMP=/tmp/doprava.html
DOPRAVAXPATH1=string(//div[@id="content-container"]/div[@id="pole"]/div/div[2]//a[starts-with(@title,"Stav dopravy k")]/@href)
DOPRAVAXPATH2=//div[@id="content-container"]/div[@id="pole"]/div/div[2]//*[@class="img-c img-envelope"]/../preceding-sibling::*
# function
get-voda = \
echo Station $(STATION) \
wget '$(VODAIMG1)' -O data/stav_$(STATION).png_; \
wget '$(VODAIMG2)' -O data/prutok_$(STATION).png_; \
wget '$(VODAURL)' -O - | $(XMLLINT) --encode utf8 - | $(XMLLINT) --xpath '$(VODAXPATH)' - > data/table_$(STATION).html_; \
$(foreach FILE,data/stav_$(STATION).png data/prutok_$(STATION).png data/table_$(STATION).html,mv -v $(FILE)_ $(FILE);)
all: index.html doprava.html pomoc.html kontakty.html
refresh:
wget '$(VODAIMG1)' -O data/stav_.png
wget '$(VODAIMG2)' -O data/prutok_.png
wget '$(VODAURL)' -O - | $(XMLLINT) --encode utf8 - | $(XMLLINT) --xpath '$(VODAXPATH)' - > data/table_.html
mv data/stav_.png data/stav.png && mv data/prutok_.png data/prutok.png && mv data/table_.html data/table.html
wget '$(VODAIMG1_MELNIK)' -O data/stav_melnik_.png
wget '$(VODAIMG2_MELNIK)' -O data/prutok_melnik_.png
wget '$(VODAURL_MELNIK)' -O - | $(XMLLINT) --encode utf8 - | $(XMLLINT) --xpath '$(VODAXPATH)' - > data/table_melnik_.html
mv data/stav_melnik_.png data/stav_melnik.png && mv data/prutok_melnik_.png data/prutok_melnik.png && mv data/table_melnik_.html data/table_melnik.html
wget '$(VODAIMG1_USTI)' -O data/stav_usti_.png
wget '$(VODAIMG2_USTI)' -O data/prutok_usti_.png
wget '$(VODAURL_USTI)' -O - | $(XMLLINT) --encode utf8 - | $(XMLLINT) --xpath '$(VODAXPATH)' - > data/table_usti_.html
mv data/stav_usti_.png data/stav_usti.png && mv data/prutok_usti_.png data/prutok_usti.png && mv data/table_usti_.html data/table_usti.html
$(foreach STATION,$(VODASTATIONS), $(call get-voda) )
sed -i 's/@stations\s*=.*/@stations=[$(foreach STATION,$(VODASTATIONS), $(STATION)\, )]/' index.haml
refreshdpp:
wget $(DOPRAVAURL) -O - | $(XMLLINT) --encode utf8 - > $(DOPRAVATMP)