From 6f20cda5c3071e03d2a56dc8236a530582cad2b7 Mon Sep 17 00:00:00 2001 From: Ebus-at-dockstar Date: Mon, 25 Mar 2013 11:42:52 +0100 Subject: neue datenquellen --- datasources/de_wettermichel.py | 46 ++++++++++++++++++++++++++++++++ datasources/yves_laserjet_tonerstatus.sh | 14 ++++++++++ 2 files changed, 60 insertions(+) create mode 100755 datasources/de_wettermichel.py create mode 100755 datasources/yves_laserjet_tonerstatus.sh (limited to 'datasources') diff --git a/datasources/de_wettermichel.py b/datasources/de_wettermichel.py new file mode 100755 index 0000000..cf6a507 --- /dev/null +++ b/datasources/de_wettermichel.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python +# -*- coding:utf8 -*- +import httplib +from StringIO import StringIO +from lxml import objectify + +def read(): + conn = httplib.HTTPConnection("www.wettermichel.de") + conn.request("GET", "/weatherdata/params3.xml") + response = conn.getresponse() + assert response.status == 200, "Site status code == 200" + + xml = objectify.parse( response ) + conn.close() + return xml + +def insert(name, value, valueType): + conn = httplib.HTTPConnection("127.0.0.1:8000") + conn.request("PUT", + "/sensor/{n}".format(n=name), + "value={v}&type={t}".format(v=value, t=valueType)) + response = conn.getresponse() + assert response.status == 200, "put status code == 200" + conn.close() + + + + +for keyval in read().xpath("/data/*"): + if keyval.tag == "entry": + continue + + if isinstance(keyval, objectify.IntElement): + insert("de.wettermichel.{n}".format(n=keyval.tag), + keyval.text, "int") + elif isinstance(keyval, objectify.FloatElement): + insert("de.wettermichel.{n}".format(n=keyval.tag), + keyval.text, "float") + elif isinstance(keyval, objectify.StringElement): + # ignore strings + pass + else: + print "ignore other: %s %s" % (keyval.tag, keyval.__class__) + + +# vim: autoindent tabstop=4 shiftwidth=4 expandtab softtabstop=4 filetype=python diff --git a/datasources/yves_laserjet_tonerstatus.sh b/datasources/yves_laserjet_tonerstatus.sh new file mode 100755 index 0000000..6b7628a --- /dev/null +++ b/datasources/yves_laserjet_tonerstatus.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +name=yves.laserjet.tonerstatus +type=int + +curl -s "http://10.1.0.10/hp/device/info_suppliesStatus.html" | + sed -ne 's/.*>\([0-9]*\)%<.*/\1/p' | + ( + read value + curl -s -i -H "Accept: application/json" \ + -X PUT "http://localhost:8000/sensor/${name}" \ + -d "value=${value}&type=${type}" | + grep '"error": null' >/dev/null + ) -- cgit v1.2.1