summaryrefslogtreecommitdiff
path: root/bin/ebus_dump.py
diff options
context:
space:
mode:
Diffstat (limited to 'bin/ebus_dump.py')
-rwxr-xr-xbin/ebus_dump.py28
1 files changed, 23 insertions, 5 deletions
diff --git a/bin/ebus_dump.py b/bin/ebus_dump.py
index bfae56e..a437b0d 100755
--- a/bin/ebus_dump.py
+++ b/bin/ebus_dump.py
@@ -2,15 +2,33 @@
# -*- coding:utf8 -*-
import asyncore
from ebus import EbusReader
+from ebus.model.sql import ModelBase, EbusSQL, Value
+from ebus.model.sql import EbusSQL
+from sqlalchemy import create_engine
+from sqlalchemy.orm import sessionmaker
+
+engine = create_engine('sqlite:///:memory:', echo=True)
+#engine = create_engine("postgresql://yvesf:iii@10.2.2.13:5432/yvesf", echo=True)
+
+ModelBase.metadata.create_all(engine)
+
+Session = sessionmaker()
+Session.configure(bind=engine)
+session = Session()
+
class MyEbusReader(EbusReader):
def __init__(self,*args,**kwargs):
EbusReader.__init__(self,*args,**kwargs)
- self.debug=True
-
+ self.debug = True
+ self.sql = EbusSQL(session)
def handle_ebus(self,ebus_packet):
- if ebus_packet.values() != dict():
- print ebus_packet
+ for field in self.sql.get_values(ebus_packet):
+ session.add(field)
MyEbusReader()
-asyncore.loop()
+try:
+ asyncore.loop()
+except KeyboardInterrupt:
+ for data in session.query(Value).all():
+ print data