diff options
author | yvesf <yvesf@d0e8fea9-7529-0410-93fb-d39fd5b9c1dd> | 2010-06-09 19:41:46 +0000 |
---|---|---|
committer | yvesf <yvesf@d0e8fea9-7529-0410-93fb-d39fd5b9c1dd> | 2010-06-09 19:41:46 +0000 |
commit | 6c580608f942d2f4b931faa6fe81171fd9e8a878 (patch) | |
tree | 4176230fe3b61f61bbe2aca8ce4068fda8810dd4 /bin/ebus_app.py | |
parent | 3fc788b05bba8813b5b5b274ac1676050104d2f0 (diff) | |
download | ebus-alt-6c580608f942d2f4b931faa6fe81171fd9e8a878.tar.gz ebus-alt-6c580608f942d2f4b931faa6fe81171fd9e8a878.zip |
bla
git-svn-id: http://10.2.2.13/svn/common/ebus@1679 d0e8fea9-7529-0410-93fb-d39fd5b9c1dd
Diffstat (limited to 'bin/ebus_app.py')
-rwxr-xr-x | bin/ebus_app.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/bin/ebus_app.py b/bin/ebus_app.py new file mode 100755 index 0000000..9d6cf6a --- /dev/null +++ b/bin/ebus_app.py @@ -0,0 +1,38 @@ +#!/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: + if len(ebus_packet.values()) > 0: + for name,value in ebus_packet.values(): + sensor = session.query().filter(name=name).first() + if not sensor: + sensor = model.Sensor(name) + session.add(sensor) + m_value = model.Value(sensor, value) + session.add(m_value) + print m_value + session.commit() + except Exception,e: + 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() |