event: move message formatting into a function, use defaultdict
This commit is contained in:
parent
fc29f1a2e6
commit
0fb1b7481b
26
events.py
26
events.py
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
from collections import defaultdict
|
||||
from xml.etree import ElementTree as ET
|
||||
import re
|
||||
import requests
|
||||
@ -45,9 +46,17 @@ eventStrings = {
|
||||
4045: 'Battery Failure',
|
||||
}
|
||||
|
||||
#<?xml version="1.0" encoding="UTF-8"?> <VertXMessage> <hid:EventMessages action="LR" recordCount="100" historyRecordMarker="463" historyTimestamp="1525824431"/> </VertXMessage>
|
||||
|
||||
#<?xml version="1.0" encoding="UTF-8"?><VertXMessage xmlns:hid="http://www.hidcorp.com/VertX"><hid:EventMessages action="RL" historyRecordMarker="463" historyTimestamp="1525824431" currentRecordMarker="463" currentTimestamp="1525824431" /></VertXMessage>
|
||||
def formatMessage(event):
|
||||
att = defaultdict(str, event.attrib)
|
||||
eventType = int(att["eventType"])
|
||||
return att["timestamp"], eventStrings[eventType].format(
|
||||
'ios-' + att['ioState'],
|
||||
'status-' + att['commandStatus'],
|
||||
att['forename'] + " " + att['surname'],
|
||||
att['rawCardNumber'],
|
||||
att['oldTime'],
|
||||
att['newTime'],
|
||||
" IN" if att['readerAddress'] == '0' else " OUT")
|
||||
|
||||
# get parameters for messages to get?
|
||||
# honestly not really sure why this is required, their API is confusing
|
||||
@ -66,13 +75,4 @@ eventsXMLOut = doXMLRequest(TARGET_IP, ET.tostring(eventsXMLIn))
|
||||
|
||||
for event in eventsXMLOut[0]:
|
||||
ET.dump(event)
|
||||
att = event.attrib
|
||||
eventType = int(att["eventType"])
|
||||
print(att["timestamp"], eventStrings[eventType].format(
|
||||
'ios-' + att.get('ioState', ''),
|
||||
'status-' + att.get('commandStatus', ''),
|
||||
att.get('forename', '') + " " + att.get('surname', ''),
|
||||
att.get('rawCardNumber', ''),
|
||||
att.get('oldTime', ''),
|
||||
att.get('newTime', ''),
|
||||
"IN" if att.get("readerAddress", '') == '0' else "OUT"))
|
||||
print(formatMessage(event))
|
||||
|
Reference in New Issue
Block a user