diff options
-rw-r--r-- | test.py | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -0,0 +1,16 @@ +#!/usr/bin/env python2.5 +import os +from lxml import objectify +from lxml import etree +class EbusProtocol: + doc = objectify.parse(open( + os.path.join( os.path.dirname(__file__), "ebus/ebus_specification.xml"))) + + @staticmethod + def get_packet(primary, secondary): + return (EbusProtocol.doc.xpath("/ebus/packets/packet[@primary=$primary and @secondary=$secondary]", + primary=primary,secondary=secondary) or [None])[0] + +p=EbusProtocol.get_packet("0x05","0x07") +for field in p.fields.iterchildren(): + print field.tag,field.get("name"), "l" |