~jack/misc

misc/metscrape2/src/bin/MetscrapeTAS.hs -rw-r--r-- 2.9 KiB
792d1a6fJack Kelly stg: implement the eval/apply machine a month ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
-- metscrape - bulk-download weather forecasts.
-- Copyright (C) 2013  Jack Kelly <jack@jackkelly.name>
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU Affero General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- GNU Affero General Public License for more details.
--
-- You should have received a copy of the GNU Affero General Public License
-- along with this program.  If not, see <https://www.gnu.org/licenses/>.

import Menu
import Scraper
import Scrapers.BOM
import Scrapers.BOMText

to :: String -> FilePath -> Scraper
url `to` path = Munge url transformXml $ "Weather/Tas/" ++ path

main :: IO ()
main = run [
        ("[BOM] Tasmania Winds",
         scrapeMarineWind "tas" "Weather/Tas/Wind%02d.png"),

        ("[BOM] Bass Straight Sea and Swell",
         scrapeInteractiveWeather "IDY30205" "sigWaveHgt"
                                      "Weather/Tas/BassStrait%03d.png"),

        ("[BOMText] Banks Strait",
         "http://www.bom.gov.au/tas/forecasts/banksstrait.shtml"
         `to` "BanksStrait.txt"),

        ("[BOMText] Derwent Estuary",
         "http://www.bom.gov.au/tas/forecasts/derwent.shtml"
         `to` "Derwent.txt"),

        ("[BOMText] D'Entrecasteaux Channel",
         "http://www.bom.gov.au/tas/forecasts/channel.shtml"
         `to` "Channel.txt"),

        ("[BOMText] East of Flinders Island",
         "http://www.bom.gov.au/tas/forecasts/eastflindersisland.shtml"
         `to` "EastFlindersIsland.txt"),

        ("[BOMText] Central North Coast",
         "http://www.bom.gov.au/tas/forecasts/centralnorthcoast.shtml"
         `to` "CentralNorthCoast.txt"),

        ("[BOMText] Central West Coast",
         "http://www.bom.gov.au/tas/forecasts/centralwestcoast.shtml"
         `to` "CentralWestCoast.txt"),

        ("[BOMText] Far North West Coast",
         "http://www.bom.gov.au/tas/forecasts/farnorthwestcoast.shtml"
         `to` "FarNorthWestCoast.txt"),

        ("[BOMText] Lower East Coast",
         "http://www.bom.gov.au/tas/forecasts/lowereastcoast.shtml"
         `to` "LowerEastCoast.txt"),

        ("[BOMText] Southeast Coast",
         "http://www.bom.gov.au/tas/forecasts/southeastcoast.shtml"
         `to` "SoutheastCoast.txt"),

        ("[BOMText] Storm Bay",
         "http://www.bom.gov.au/tas/forecasts/stormbay.shtml"
         `to` "StormBay.txt"),

        ("[BOMText] Southwest Coast",
         "http://www.bom.gov.au/tas/forecasts/southwestcoast.shtml"
         `to` "SouthwestCoast.txt"),

        ("[BOMText] Upper East Coast",
         "http://www.bom.gov.au/tas/forecasts/uppereastcoast.shtml"
         `to` "UpperEastCoast.txt")
       ]