diff options
author | Ebus-at-dockstar <ebus@dockstar> | 2013-03-25 10:24:28 +0100 |
---|---|---|
committer | Ebus-at-dockstar <ebus@dockstar> | 2013-03-25 10:24:43 +0100 |
commit | 862282ce99760832d3e9e5b4b1171b861105e004 (patch) | |
tree | 0e229418e391917b79d42a8bdee46fb7a8612895 /heap/bin/ebus_app.py | |
parent | 9522cdffa94f278eb5e1894600535986e22c2890 (diff) | |
download | ebus-alt-862282ce99760832d3e9e5b4b1171b861105e004.tar.gz ebus-alt-862282ce99760832d3e9e5b4b1171b861105e004.zip |
move old stuff away
Diffstat (limited to 'heap/bin/ebus_app.py')
-rwxr-xr-x | heap/bin/ebus_app.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/heap/bin/ebus_app.py b/heap/bin/ebus_app.py new file mode 100755 index 0000000..c9b89f6 --- /dev/null +++ b/heap/bin/ebus_app.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python +# -*- coding:utf-8 -*- +# xapek.org, 2010 +import asyncore +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker +from ebus.web import model +from ebus import EbusReader + +#db_engine = create_engine('sqlite:///:memory:', echo=True) +db_engine = create_engine("postgresql://yvesf:iii@10.2.2.13:5432/yvesf", echo=True) + +session = sessionmaker(bind=db_engine)() + + +def insert(ebus_packet): + try: + for valueKey in ebus_packet.values().keys(): + print "Key", valueKey + sensor = session.query(model.Sensor).filter(model.Sensor.name==valueKey).first() + if not sensor: + print "Add sensor %s" % valueKey + sensor = model.Sensor(valueKey) + session.add(sensor) + print sensor + m_value = model.Value(sensor, ebus_packet.values()[valueKey]) + session.add(m_value) + print m_value + session.commit() + except Exception,e: + session.rollback() + try: + print "Failed to insert %s -- reason %s" % (ebus_packet.name(), e) + except Exception,e: + print e + +reader = EbusReader() +reader.handle_ebus = insert +reader.debug = False + +asyncore.loop() |