consider dataitem in output

This commit is contained in:
Wolfgang Hottgenroth
2015-10-19 19:50:24 +02:00
parent c2e8fb875a
commit eaea327077

View File

@ -48,6 +48,7 @@ try:
query = """ query = """
SELECT d.description, d.address, SELECT d.description, d.address,
di.description,
cd.ts, cd.ts,
cd.value, cd.id cd.value, cd.id
FROM device_t d, FROM device_t d,
@ -57,26 +58,25 @@ SELECT d.description, d.address,
WHERE ddi.device = d.id AND WHERE ddi.device = d.id AND
ddi.dataitem = di.id AND ddi.dataitem = di.id AND
cd.devicedataitem = ddi.id AND cd.devicedataitem = ddi.id AND
di.description = %s AND
cd.ts BETWEEN %s AND %s cd.ts BETWEEN %s AND %s
ORDER BY cd.id ORDER BY cd.id
""" """
# itemType = 'totalPages' cur.execute(query, (datetime.datetime(1970, 1, 1), datetime.datetime(2100, 12, 31)))
itemType = 'WAN ifHCOutOctets'
cur.execute(query, (itemType, datetime.datetime(1970, 1, 1), datetime.datetime(2100, 12, 31)))
devices = {} devices = {}
for (deviceName, deviceAddress, timestamp, value, id) in cur: for (deviceName, deviceAddress, dataItem, timestamp, value, id) in cur:
value = int(value) value = int(value)
if not devices.has_key(deviceAddress): key = deviceAddress + ' ' + dataItem
devices[deviceAddress] = {'name': deviceName, 'address': deviceAddress, if not devices.has_key(key):
'first': {'timestamp': timestamp, 'value': value}, devices[key] = {'name': deviceName, 'address': deviceAddress,
'last': {'timestamp': timestamp, 'value': value}} 'dataItem': dataItem,
'first': {'timestamp': timestamp, 'value': value},
'last': {'timestamp': timestamp, 'value': value}}
else: else:
devices[deviceAddress]['last'] = {'timestamp': timestamp, 'value': value} devices[key]['last'] = {'timestamp': timestamp, 'value': value}
secondsPerMonth = datetime.timedelta(30).total_seconds() secondsPerMonth = datetime.timedelta(30).total_seconds()
@ -86,6 +86,7 @@ SELECT d.description, d.address,
mySheet = MySheet(xls.add_sheet('Sheet 1')) mySheet = MySheet(xls.add_sheet('Sheet 1'))
mySheet.writeFirstFirst('Name') mySheet.writeFirstFirst('Name')
mySheet.writeSameNext('Address') mySheet.writeSameNext('Address')
mySheet.writeSameNext('DataItem')
mySheet.writeSameNext('First Sample Date') mySheet.writeSameNext('First Sample Date')
mySheet.writeSameNext('First Sample Value') mySheet.writeSameNext('First Sample Value')
mySheet.writeSameNext('Last Sample Date') mySheet.writeSameNext('Last Sample Date')
@ -99,9 +100,10 @@ SELECT d.description, d.address,
for device in devices.values(): for device in devices.values():
print("Device: %s, %s" % (device['name'], device['address'])) print("Device: %s, %s, %s" % (device['name'], device['address'], device['dataItem']))
mySheet.writeNextFirst(device['name']) mySheet.writeNextFirst(device['name'])
mySheet.writeSameNext(device['address']) mySheet.writeSameNext(device['address'])
mySheet.writeSameNext(device['dataItem'])
print(" First: %s, %s" % (device['first']['timestamp'], device['first']['value'])) print(" First: %s, %s" % (device['first']['timestamp'], device['first']['value']))
mySheet.writeSameNext(device['first']['timestamp']) mySheet.writeSameNext(device['first']['timestamp'])