From 352d86ce9ca968154e464f27c87dbc1d64081509 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Bora=CC=81ros?= Date: Tue, 4 Jun 2013 18:02:29 +0200 Subject: [PATCH] use loops for weather stations --- Makefile | 48 +++++++++++++++------------------ index.haml | 79 +++++++++++++++--------------------------------------- 2 files changed, 43 insertions(+), 84 deletions(-) diff --git a/Makefile b/Makefile index 148d596..8efba1c 100644 --- a/Makefile +++ b/Makefile @@ -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) diff --git a/index.haml b/index.haml index 4a8de71..bfe74a4 100644 --- a/index.haml +++ b/index.haml @@ -1,4 +1,7 @@ !!! 5 + +- @stations=[ 307225, 307081, 307228, ] + %html %head %meta(charset="utf-8") @@ -17,63 +20,25 @@ .content - %table.twocolumn - %tr - %td(style="padding: 16px;") - .imgstav - %img(src="data/stav.png") - .imgprutok - %img(src="data/prutok.png") - %td(style="padding: 16px;") - %table#legend24h(style="margin: 16px;") - =File.read("data/legend.html") - %table#table24h - %tr - %th datum a čas - %th stav [cm] - %th průtok [m3s-1] - %th teplota [°C] - =File.read("data/table.html") + - @stations.each do |station| + %table.twocolumn + %tr + %td(style="padding: 16px;") + .imgstav + %img(src="data/stav_#{station}.png") + .imgprutok + %img(src="data/prutok_#{station}.png") + %td(style="padding: 16px;") + %table#legend24h(style="margin: 16px;") + =File.read("data/legend.html") + %table#table24h + %tr + %th datum a čas + %th stav [cm] + %th průtok [m3s-1] + %th teplota [°C] + =File.read("data/table_#{station}.html") - %hr + %hr - %table.twocolumn - %tr - %td(style="padding: 16px;") - .imgstav - %img(src="data/stav_melnik.png") - .imgprutok - %img(src="data/prutok_melnik.png") - %td(style="padding: 16px;") - %table#legend24h(style="margin: 16px;") - =File.read("data/legend_melnik.html") - %table#table24h - %tr - %th datum a čas - %th stav [cm] - %th průtok [m3s-1] - %th teplota [°C] - =File.read("data/table_melnik.html") - - %hr - - %table.twocolumn - %tr - %td(style="padding: 16px;") - .imgstav - %img(src="data/stav_usti.png") - .imgprutok - %img(src="data/prutok_usti.png") - %td(style="padding: 16px;") - %table#legend24h(style="margin: 16px;") - =File.read("data/legend_usti.html") - %table#table24h - %tr - %th datum a čas - %th stav [cm] - %th průtok [m3s-1] - %th teplota [°C] - =File.read("data/table_usti.html") - - %hr .footer Data poskytuje Český hydrometeorologický ústav. Bez záruky.