Difference between revisions of "MythWeather Grabber Script Format"

From MythTV Official Wiki
Jump to: navigation, search
(added optional data fields)
Line 1: Line 1:
 
MythWeather grabber scripts are small executable perl, python, or binary applications which query online sources of weather and return it in a format parseable by MythWeather.  This page documents the current format required of the grabber scripts to function.
 
MythWeather grabber scripts are small executable perl, python, or binary applications which query online sources of weather and return it in a format parseable by MythWeather.  This page documents the current format required of the grabber scripts to function.
 +
 +
= Data Types =
 +
 +
MythWeather has six different types of pages. Grabbers are categorized into these types by the data they specify as capable of providing. Grabbers can seamlessly provide data for multiple pages by making sure to meet all the requirements for each.
 +
 +
== Current Conditions ==
 +
 +
== Three Day Forecast ==
 +
 +
== Six Day Forecast ==
 +
 +
<!--
 +
== Today's Forecast ==
 +
 +
-->
 +
==  Static Map ==
 +
 +
== Animated Map ==
 +
 +
== Severe Weather Alerts ==
 +
 +
== 18 Hour Forecast ==
 +
 +
<!--
 +
== Tomorrow's Outlook ==
 +
 +
-->
 +
 +
= Commands =
  
 
== The Version Command (-v) ==
 
== The Version Command (-v) ==
Line 54: Line 83:
  
  
== The Directory Option (-d) ==
+
== The Data Command (-u <unit system> -d <folder> <location string>) ==
use unknown... for radar image downloads?
+
 
+
 
+
== The Data Command (-u <unit system> <location string>) ==
+
  
A grabber script with called without any of the above options must take a unit system, and a location, and return data for each of the fields listed by the '-t' command. The Location will be that provided by the '-l' commands, and the unit system will be one of 'SI' or 'ENG'. Data is returned, one value per line, separated from the identifying string by a double colon.
+
The data command includes a mandatory unit system, and provides a directory path with full read/write access. The location will be that provided by the '-l' command, and the unit system will be one of 'SI' or 'ENG'. The directory can be used to store temporary data or cache results, or can be silently ignored. Data is returned, one value per line, separated from the identifying string by a double colon.
  
 
<pre>
 
<pre>

Revision as of 05:50, 26 December 2009

MythWeather grabber scripts are small executable perl, python, or binary applications which query online sources of weather and return it in a format parseable by MythWeather. This page documents the current format required of the grabber scripts to function.

Data Types

MythWeather has six different types of pages. Grabbers are categorized into these types by the data they specify as capable of providing. Grabbers can seamlessly provide data for multiple pages by making sure to meet all the requirements for each.

Current Conditions

Three Day Forecast

Six Day Forecast

Static Map

Animated Map

Severe Weather Alerts

18 Hour Forecast

Commands

The Version Command (-v)

All grabber scripts must return an identifying string when run with the '-v' argument. The command returns a comma separated list of the script name, script version, author, and author's email, and output must end with a newline character.

#./bbccurrentxml.pl -v
BBC-Current-XML,0.2,Stuart Morgan,stuart@tase.co.uk


The Timeout Command (-T)

All grabber scripts must return two timeout values when run with the '-T' argument. The command returns a comma separated list of information lifetime, and web response timeout, in seconds.

#./bbccurrentxml.pl -T
7200,30


The Field List Command (-t)

All grabber scripts must return a list of available data fields, one per line, when run with the '-t' argument.

#./bbccurrentxml.pl -t
cclocation
station_id
copyright
observation_time
weather
temp
relative_humidity
wind_dir
pressure
visibility
weather_icon
appt
wind_spdgst


The Location Search Command (-l <location>)

All grabber scripts must return a list of possible location matches, one per line, when run with the '-l' argument. The matches are an identifying string to be used with the data string, and a description, separated by a double colon.

#./bbccurrentxml.pl -l Cincinnati
407::Cincinnati, Ohio
3231::Cincinnati/Northern Kentucky International, Kentucky


The Data Command (-u <unit system> -d <folder> <location string>)

The data command includes a mandatory unit system, and provides a directory path with full read/write access. The location will be that provided by the '-l' command, and the unit system will be one of 'SI' or 'ENG'. The directory can be used to store temporary data or cache results, or can be silently ignored. Data is returned, one value per line, separated from the identifying string by a double colon.

#./bbccurentxml.pl -u ENG 407
appt::NA
copyright::From bbc.co.uk
station_id::407
cclocation::Cincinnati, United States of America
observation_time::Thursday at 13:00 EST
weather::Grey cloud
weather_icon::cloudy.png
temp::43
wind_dir::E
wind_spdgst::9 (NA)
relative_humidity::65
pressure::30.5321117
visibility::10-20

Valid Data Types

cclocation Descriptive name of location Text
relative_humidity Percent humidity Integer
pressure Barometric pressure Float
wind_spdgst Wing speed (gust) Integer
wind_dir Wind direction Cardinal
visibility Integer/Range
appt
temp
weather
weather_icon
observation_time
copyright
3dlocation
6dlocation
date-<n>
icon-<n>
low-<n>
high-<n>
updatetime
18icon-<n>
temp-<n>
pop-<n>
swlocation
alerts can have multiple lines
forecastdate
tempforecast
condforecast
todaypic
location

}