diff options
author | makefu <github@syntax-fehler.de> | 2011-08-07 17:33:14 +0200 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2011-08-07 17:33:14 +0200 |
commit | f2677886d252ceec0eeea54d44b74f60683f8282 (patch) | |
tree | f7c768989eea50e34afc956966b18ea99e58e091 /kachelmann/changes | |
parent | f063343a6b1417c756167f9f5e3727069b5c805e (diff) | |
parent | 74b400f10a7adafd8ce5b1644a6b500d4e5089ed (diff) |
Merge branch 'master' of github.com:krebscode/painload
Diffstat (limited to 'kachelmann/changes')
-rw-r--r-- | kachelmann/changes | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/kachelmann/changes b/kachelmann/changes new file mode 100644 index 00000000..dfd22b64 --- /dev/null +++ b/kachelmann/changes @@ -0,0 +1,31 @@ +#!/usr/bin/perl +use XML::Simple; +my $xml = new XML::Simple; +my $data_new = undef; +my $data_old = undef; + + +&startup; +while (true) { + if($status_new != $status_old){ + system("espeak -v de \"Das Wetter hat sich von $status_old in $status_new verändert\""); + } + sleep(300); + &get_status; +} + + +# The startup sub is used to get the first weather state. it should only be used on startup. sorry. +sub startup(){ + system("w3m -dump \"http://www.google.com/ig/api?weather=70327-stuttgart&hl=de\" > /tmp/kachelmann/weather.xml"); + $data_new = $xml->XMLin("/tmp/kachelmann/weather.xml"); + $data_new = $data_new->{weather}->{current_conditions}->{condition}->{data}; +} + +# The get_status sub moves the current data to $data_old and then gets a new one from Googles API +sub get_status(){ + system("w3m -dump \"http://www.google.com/ig/api?weather=70327-stuttgart&hl=de\" > /tmp/kachelmann/weather.xml"); + $data_old = $data_new; + $data_new = $xml->XMLin("/tmp/kachelmann/weather.xml"); + $data_new = $data_new->{weather}->{current_conditions}->{condition}->{data}; +} |