hi, here's an Australian one I've been working on for gnometer theme. (modified version of the included one) as you say, global ones seem to be out and only include major cities for Aus, so I decided to make this, it's basic, but I like it just fine. still haven't added measures for other things such as humidity etc which appears in the tooltips.phi wrote:I'm knocking up a weather meter for Australia (global weather services are usually way-off for some reason) using the Australin BOM: http://www.bom.gov.au
source:
Code: Select all
[Rainmeter]
Author=haicim
AppVersion=1000000
Update=2000
MouseActionCursor=0
MiddleMouseDownAction=!RainmeterDeactivateConfig
BackgroundMode=1
[Metadata]
Name=Weatherzone
Description=Shows your current and forecast weather conditions. Weather information provided by weatherzone
Instructions=change only PAGEURL to desired town.
Version=1.3.0
License=Creative Commons BY-NC-SA 3.0
[Variables]
PAGEURL=http://www.meteorology.com.au/local-forecast/qld/gootchie
IMAGEURL=http://www.meteorology.com.au
skin.Style=Horizontal
@Include=#ROOTCONFIGPATH#SETTINGS\Variables.inc
; MEASURES ====================================
[Source]
Measure=Plugin
Plugin=WebParser.dll
UpdateRate=300
URL=#PAGEURL#
RegExp=(?siU)<h1>Forecast</h1>(.*)<li.class=.custom-content.teaser.>
[Location]
Measure=Plugin
Plugin=WebParser.dll
Url=[Source]
RegExp=(?siU)<h3>.(.*?).<em>
StringIndex2=1
StringIndex=1
Substitute="":"Weather"
[LongDesc]
Measure=Plugin
Plugin=WebParser.dll
Url=[Source]
StringIndex=1
StringIndex2=1
RegExp=(?siU)class=.seven-day-forecast.full.>.*?</strong>.(.*?).</p>.*?summary=.Forecast
[Days]
Measure=Plugin
Plugin=WebParser.dll
Url=[Source]
StringIndex=1
RegExp=(?siU)<caption>Forecast.*?<thead>.*?col'>(...)</th>.*?col'>(...)</th>.*?col'>(...)</th>.*?col'>(...)</th>.*?col'>(...)</th>.*?col'>(...)</th>.*?col'>(...)</th>
[mForecast0.Day]
Measure=Plugin
Plugin=WebParser.dll
Url=[Days]
StringIndex=1
[mForecast1.Day]
Measure=Plugin
Plugin=WebParser.dll
Url=[Days]
StringIndex=2
[mForecast2.Day]
Measure=Plugin
Plugin=WebParser.dll
Url=[Days]
StringIndex=3
[mForecast3.Day]
Measure=Plugin
Plugin=WebParser.dll
Url=[Days]
StringIndex=4
[mForecast4.Day]
Measure=Plugin
Plugin=WebParser.dll
Url=[Days]
StringIndex=5
[Summarys]
Measure=Plugin
Plugin=WebParser.dll
Url=[Source]
StringIndex=1
RegExp=(?si)row.>Summary</.*?alt="(.*?)..class=.icon..src=.(.*?)\?.*?title=".*?alt="(.*?)..class=.icon..src=.(.*?)\?.*?title=".*?alt="(.*?)..class=.icon..src=.(.*?)\?.*?title=".*?alt="(.*?)..class=.icon..src=.(.*?)\?.*?title=".*?alt="(.*?)..class=.icon..src=.(.*?)\?.*?title=".*?alt="(.*?)..class=.icon..src=.(.*?)\?.*?title=".*?alt="(.*?)..class=.icon..src=.(.*?)\?.*?title="
[mForecast0.Text]
Measure=Plugin
Plugin=WebParser.dll
Url=[Summarys]
StringIndex=1
Substitute="":"N/A"
[mForecast0.Icon]
Measure=Plugin
Plugin=WebParser.dll
Url=#IMAGEURL#[Summarys]
StringIndex=2
Download=1
Substitute="":"3200"
[mForecast1.Text]
Measure=Plugin
Plugin=WebParser.dll
Url=[Summarys]
StringIndex=3
Substitute="":"N/A"
[mForecast1.Icon]
Measure=Plugin
Plugin=WebParser.dll
Url=#IMAGEURL#[Summarys]
StringIndex=4
Download=1
Substitute="":"3200"
[mForecast2.Text]
Measure=Plugin
Plugin=WebParser.dll
Url=[Summarys]
StringIndex=5
Substitute="":"N/A"
[mForecast2.Icon]
Measure=Plugin
Plugin=WebParser.dll
Url=#IMAGEURL#[Summarys]
StringIndex=6
Download=1
Substitute="":"3200"
[mForecast3.Text]
Measure=Plugin
Plugin=WebParser.dll
Url=[Summarys]
StringIndex=7
Substitute="":"N/A"
[mForecast3.Icon]
Measure=Plugin
Plugin=WebParser.dll
Url=#IMAGEURL#[Summarys]
StringIndex=8
Download=1
Substitute="":"3200"
[mForecast4.Text]
Measure=Plugin
Plugin=WebParser.dll
Url=[Summarys]
StringIndex=9
Substitute="":"N/A"
[mForecast4.Icon]
Measure=Plugin
Plugin=WebParser.dll
Url=#IMAGEURL#[Summarys]
StringIndex=10
Download=1
Substitute="":"3200"
[Lows]
Measure=Plugin
Plugin=WebParser.dll
Url=[Source]
StringIndex=1
RegExp=(?si)row.>Minimum</th>.*?class=.min.>(.*?)</span.*?class=.min.>(.*?)</span.*?class=.min.>(.*?)</span.*?class=.min.>(.*?)</span.*?class=.min.>(.*?)</span.*?class=.min.>(.*?)</span.*?class=.min.>(.*?)</span
[mForecast0.Lo]
Measure=Plugin
Plugin=WebParser.dll
Url=[Lows]
StringIndex=1
Substitute="":""
[mForecast1.Lo]
Measure=Plugin
Plugin=WebParser.dll
Url=[Lows]
StringIndex=2
Substitute="":""
[mForecast2.Lo]
Measure=Plugin
Plugin=WebParser.dll
Url=[Lows]
StringIndex=3
Substitute="":""
[mForecast3.Lo]
Measure=Plugin
Plugin=WebParser.dll
Url=[Lows]
StringIndex=4
Substitute="":""
[mForecast4.Lo]
Measure=Plugin
Plugin=WebParser.dll
Url=[Lows]
StringIndex=5
Substitute="":""
[Highs]
Measure=Plugin
Plugin=WebParser.dll
Url=[Source]
StringIndex=1
RegExp=(?si)row.>Maximum</th>.*?class=.max.>(.*?)</span.*?class=.max.>(.*?)</span.*?class=.max.>(.*?)</span.*?class=.max.>(.*?)</span.*?class=.max.>(.*?)</span.*?class=.max.>(.*?)</span.*?class=.max.>(.*?)</span
[mForecast0.Hi]
Measure=Plugin
Plugin=WebParser.dll
Url=[Highs]
StringIndex=1
Substitute="":""
[mForecast1.Hi]
Measure=Plugin
Plugin=WebParser.dll
Url=[Highs]
StringIndex=2
Substitute="":""
[mForecast2.Hi]
Measure=Plugin
Plugin=WebParser.dll
Url=[Highs]
StringIndex=3
Substitute="":""
[mForecast3.Hi]
Measure=Plugin
Plugin=WebParser.dll
Url=[Highs]
StringIndex=4
Substitute="":""
[mForecast4.Hi]
Measure=Plugin
Plugin=WebParser.dll
Url=[Highs]
StringIndex=5
Substitute="":""
[Currents]
Measure=Plugin
Plugin=WebParser.dll
Url=[Source]
StringIndex=1
RegExp=(?si)class=.local-weather-short.teaser.*?<img.alt=.(.*?)..class=.icon..src=.(.*?)\?.*?current.>(.*?)</span.*?min.>(.*?)</span.*?max.>(.*?)</span>
[mCurrent.Text]
Measure=Plugin
Plugin=WebParser.dll
Url=[Currents]
StringIndex=1
Substitute="":"N/A"
[mCurrent.Icon]
Measure=Plugin
Plugin=WebParser.dll
Url=#IMAGEURL#[Currents]
StringIndex=2
Download=1
Substitute="":"3200"
[mCurrent.Temp]
Measure=Plugin
Plugin=WebParser.dll
Url=[Currents]
StringIndex=3
Substitute="":""
[mCurrent.Min]
Measure=Plugin
Plugin=WebParser.dll
Url=[Currents]
StringIndex=4
Substitute="":""
Hidden=0
[mCurrent.Max]
Measure=Plugin
Plugin=WebParser.dll
Url=[Currents]
StringIndex=5
Substitute="":""
Hidden=0
[Rain]
Measure=Plugin
Plugin=WebParser.dll
Url=[Source]
StringIndex=1
RegExp=(?si)Chance.of.rain.</th>.*?span=.2.>(.*?)</td>.*?span=.2.>(.*?)</td>.*?span=.2.>(.*?)</td>.*?span=.2.>(.*?)</td>.*?span=.2.>(.*?)</td>.*?Likely.amount.*?span=.2.>(.*?)</td>.*?span=.2.>(.*?)</td>.*?span=.2.>(.*?)</td>.*?span=.2.>(.*?)</td>.*?span=.2.>(.*?)</td>.*?scope=.row
[mForecast0.Rain]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=1
[mForecast1.Rain]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=2
[mForecast2.Rain]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=3
[mForecast3.Rain]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=4
[mForecast4.Rain]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=5
[mForecast0.RainMM]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=6
Substitute="< ":"<"
[mForecast1.RainMM]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=7
Substitute="< ":"<"
[mForecast2.RainMM]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=8
Substitute="< ":"<"
[mForecast3.RainMM]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=9
Substitute="< ":"<"
[mForecast4.RainMM]
Measure=Plugin
Plugin=WebParser.dll
Url=[Rain]
StringIndex=10
Substitute="< ":"<"
; STYLES ======================================
@Include2=#ROOTCONFIGPATH#SETTINGS\Style#skin.Style#.inc
[sPopup]
Hidden=0
[sTextL]
W=35
X=30
Hidden=0
ToolTipText="%1: %4#CRLF#Max: %3#CRLF#Min: %2#CRLF#Chance of Rain: %5 %6"
[sTextR]
ToolTipText="%4: %1#CRLF#Max: %3#CRLF#Min: %2#CRLF#Chance of Rain: %5 %6"
W=(#skin.Width#-50)
Text="%2~%3"
Hidden=0
[sSubtitle]
ToolTipText="Now: %2#CRLF#%1#CRLF#Max: %4#CRLF#Min: %3"
[sSeperator]
Hidden=0
Y=16r
[sIcon]
W=28
H=24
ToolTipText="%5: %4#CRLF#Max: %3#CRLF#Min: %2#CRLF#Chance of Rain: %6 %7"
[sIconB]
W=38
H=31
; METERS ======================================
[Line]
Meter=IMAGE
MeterStyle=sLine
[Icon]
Meter=IMAGE
MeterStyle=sIconB
MeasureName=mCurrent.Icon
MouseActionCursor=1
UpdateDivider=3
MeasureName2=mCurrent.Text
MeasureName3=mCurrent.Temp
MeasureName4=mCurrent.Min
MeasureName5=mCurrent.Max
MeasureName6=LongDesc
MeasureName7=Location
ToolTipText="Currently %3 in %7 — %4 Lowest — %5 Highest #CRLF#Forecast: %6"
[Title]
Meter=STRING
MeterStyle=sTitle
MeasureName=Location
MeasureName2=mCurrent.Text
MeasureName3=mCurrent.Temp
MeasureName4=mCurrent.Min
MeasureName5=mCurrent.Max
Text="%1"
ToolTipText="Now: %3#CRLF#%2#CRLF#Max: %5#CRLF#Min: %4"
[SubtitleTemp]
Meter=STRING
MeterStyle=sTextR
MeasureName=mCurrent.Temp
MeasureName2=mCurrent.Text
MeasureName3=mCurrent.Min
MeasureName4=mCurrent.Max
Text="%1"
w=50
ToolTipText="Now: %1#CRLF#%2#CRLF#Max: %4#CRLF#Min: %3"
[Subtitle]
Meter=STRING
MeterStyle=sSubtitle
MeasureName=mCurrent.Text
MeasureName2=mCurrent.Temp
MeasureName3=mCurrent.Min
MeasureName4=mCurrent.Max
Text="%1"
w=115
[Subtitle2]
Meter=STRING
MeterStyle=sSubtitle
MeasureName=mCurrent.Text
MeasureName2=mCurrent.Temp
MeasureName3=mCurrent.Min
MeasureName4=mCurrent.Max
Text="%3~%4"
StringAlign=Right
x=195
[Popup]
Meter=IMAGE
MeterStyle=sPopup
H=((#h.Other#*5)+30)
; Weather
[day0Icon]
Meter=IMAGE
MeterStyle=sIcon
MeasureName=mForecast0.Icon
MeasureName2=mForecast0.Lo
MeasureName3=mForecast0.Hi
MeasureName4=mForecast0.Text
MeasureName5=mForecast0.Day
MeasureName6=mForecast0.Rain
MeasureName7=mForecast0.RainMM
UpdateDivider=3
Y=0r
[Forecast0]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast0.Day
MeasureName2=mForecast0.Lo
MeasureName3=mForecast0.Hi
MeasureName4=mForecast0.Text
MeasureName5=mForecast0.Rain
MeasureName6=mForecast0.RainMM
Y=5r
[Forecast0Cond]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast0.Text
MeasureName2=mForecast0.Lo
MeasureName3=mForecast0.Hi
MeasureName4=mForecast0.Day
MeasureName5=mForecast0.Rain
MeasureName6=mForecast0.RainMM
Y=0r
W=88
X=60
Hidden=0
Text="%1"
[Forecast0Temp]
Meter=STRING
MeterStyle=sTextR
MeasureName=mForecast0.Text
MeasureName2=mForecast0.Lo
MeasureName3=mForecast0.Hi
MeasureName4=mForecast0.Day
MeasureName5=mForecast0.Rain
MeasureName6=mForecast0.RainMM
[Seperator1]
Meter=IMAGE
MeterStyle=sSeperator
[day1Icon]
Meter=IMAGE
MeterStyle=sIcon
MeasureName=mForecast1.Icon
MeasureName2=mForecast1.Lo
MeasureName3=mForecast1.Hi
MeasureName4=mForecast1.Text
MeasureName5=mForecast1.Day
MeasureName6=mForecast1.Rain
MeasureName7=mForecast1.RainMM
UpdateDivider=3
Y=0r
[Forecast1]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast1.Day
MeasureName2=mForecast1.Lo
MeasureName3=mForecast1.Hi
MeasureName4=mForecast1.Text
MeasureName5=mForecast1.Rain
MeasureName6=mForecast1.RainMM
Y=5r
[Forecast1Cond]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast1.Text
MeasureName2=mForecast1.Lo
MeasureName3=mForecast1.Hi
MeasureName4=mForecast1.Day
MeasureName5=mForecast1.Rain
MeasureName6=mForecast1.RainMM
Y=0r
W=88
X=60
Hidden=0
Text="%1"
[Forecast1Temp]
Meter=STRING
MeterStyle=sTextR
MeasureName=mForecast1.Text
MeasureName2=mForecast1.Lo
MeasureName3=mForecast1.Hi
MeasureName4=mForecast1.Day
MeasureName5=mForecast1.Rain
MeasureName6=mForecast1.RainMM
[Seperator2]
Meter=IMAGE
MeterStyle=sSeperator
[day2Icon]
Meter=IMAGE
MeterStyle=sIcon
MeasureName=mForecast2.Icon
MeasureName2=mForecast2.Lo
MeasureName3=mForecast2.Hi
MeasureName4=mForecast2.Text
MeasureName5=mForecast2.Day
MeasureName6=mForecast2.Rain
MeasureName7=mForecast2.RainMM
UpdateDivider=3
Y=0r
[Forecast2]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast2.Day
MeasureName2=mForecast2.Lo
MeasureName3=mForecast2.Hi
MeasureName4=mForecast2.Text
MeasureName5=mForecast2.Rain
MeasureName6=mForecast2.RainMM
Y=5r
[Forecast2Cond]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast2.Text
MeasureName2=mForecast2.Lo
MeasureName3=mForecast2.Hi
MeasureName4=mForecast2.Day
MeasureName5=mForecast2.Rain
MeasureName6=mForecast2.RainMM
Y=0r
W=88
X=60
Hidden=0
Text="%1"
[Forecast2Temp]
Meter=STRING
MeterStyle=sTextR
MeasureName=mForecast2.Text
MeasureName2=mForecast2.Lo
MeasureName3=mForecast2.Hi
MeasureName4=mForecast2.Day
MeasureName5=mForecast2.Rain
MeasureName6=mForecast2.RainMM
[Seperator3]
Meter=IMAGE
MeterStyle=sSeperator
[day3Icon]
Meter=IMAGE
MeterStyle=sIcon
MeasureName=mForecast3.Icon
MeasureName2=mForecast3.Lo
MeasureName3=mForecast3.Hi
MeasureName4=mForecast3.Text
MeasureName5=mForecast3.Day
MeasureName6=mForecast3.Rain
MeasureName7=mForecast3.RainMM
UpdateDivider=3
Y=0r
[Forecast3]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast3.Day
MeasureName2=mForecast3.Lo
MeasureName3=mForecast3.Hi
MeasureName4=mForecast3.Text
MeasureName5=mForecast3.Rain
MeasureName6=mForecast3.RainMM
Y=5r
[Forecast3Cond]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast3.Text
MeasureName2=mForecast3.Lo
MeasureName3=mForecast3.Hi
MeasureName4=mForecast3.Day
MeasureName5=mForecast3.Rain
MeasureName6=mForecast3.RainMM
Y=0r
W=88
X=60
Hidden=0
Text="%1"
[Forecast3Temp]
Meter=STRING
MeterStyle=sTextR
MeasureName=mForecast3.Text
MeasureName2=mForecast3.Lo
MeasureName3=mForecast3.Hi
MeasureName4=mForecast3.Day
MeasureName5=mForecast3.Rain
MeasureName6=mForecast3.RainMM
[Seperator4]
Meter=IMAGE
MeterStyle=sSeperator
[day4Icon]
Meter=IMAGE
MeterStyle=sIcon
MeasureName=mForecast4.Icon
MeasureName2=mForecast4.Lo
MeasureName3=mForecast4.Hi
MeasureName4=mForecast4.Text
MeasureName5=mForecast4.Day
MeasureName6=mForecast4.Rain
MeasureName7=mForecast4.RainMM
UpdateDivider=3
Y=0r
[Forecast4]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast4.Day
MeasureName2=mForecast4.Lo
MeasureName3=mForecast4.Hi
MeasureName4=mForecast4.Text
MeasureName5=mForecast4.Rain
MeasureName6=mForecast4.RainMM
Y=5r
[Forecast4Cond]
Meter=STRING
MeterStyle=sTextL
MeasureName=mForecast4.Text
MeasureName2=mForecast4.Lo
MeasureName3=mForecast4.Hi
MeasureName4=mForecast4.Day
MeasureName5=mForecast4.Rain
MeasureName6=mForecast4.RainMM
Y=0r
W=88
X=60
Hidden=0
Text="%1"
[Forecast4Temp]
Meter=STRING
MeterStyle=sTextR
MeasureName=mForecast4.Text
MeasureName2=mForecast4.Lo
MeasureName3=mForecast4.Hi
MeasureName4=mForecast4.Day
MeasureName5=mForecast4.Rain
MeasureName6=mForecast4.RainMM
[Seperator5]
Meter=IMAGE
MeterStyle=sSeperator
[Gap]
Meter=IMAGE
MeterStyle=sGap
weatherzone.zip