summaryrefslogtreecommitdiffstats
path: root/kachelmann/changes
diff options
context:
space:
mode:
authortv <tv@also>2011-08-08 00:53:00 +0200
committertv <tv@also>2011-08-08 00:53:00 +0200
commit6dd9ea309f4fc010b113b357a5d2f65ef0977aa3 (patch)
tree6ef5ae5b536f72ffffe25dcbc94261dcb45449b0 /kachelmann/changes
parent04fea470969698c9587e4fe04e1e42cfaf703b9a (diff)
parentd28012696a16e7d0fa3cf20e3527b9cf5747dc3a (diff)
Merge branch 'master' of github.com:krebscode/painload
Diffstat (limited to 'kachelmann/changes')
-rw-r--r--kachelmann/changes31
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};
+}