2015-10-21 12:22:59 +02:00
|
|
|
#!/usr/bin/env python
|
|
|
|
|
|
|
|
import sys
|
|
|
|
|
2016-06-08 23:21:42 +02:00
|
|
|
import villas
|
|
|
|
from villas import *
|
2015-10-21 12:22:59 +02:00
|
|
|
|
|
|
|
def main():
|
|
|
|
files = sys.argv[1:]
|
|
|
|
|
|
|
|
all = [ ]
|
|
|
|
last = { }
|
|
|
|
|
|
|
|
for file in files:
|
|
|
|
handle = sys.stdin if file == '-' else open(file, "r")
|
|
|
|
|
|
|
|
msgs = [ ]
|
|
|
|
for line in handle.xreadlines():
|
2016-06-08 23:21:42 +02:00
|
|
|
msgs.append(villas.Message.parse(line, file))
|
2015-10-21 12:22:59 +02:00
|
|
|
|
|
|
|
all += msgs
|
2016-06-08 23:21:42 +02:00
|
|
|
last[file] = villas.Message(villas.Timestamp(), [0] * len(msgs[0].values), file)
|
2015-10-21 12:22:59 +02:00
|
|
|
|
|
|
|
all.sort()
|
|
|
|
for msg in all:
|
|
|
|
last[msg.source] = msg
|
|
|
|
|
|
|
|
values = [ ]
|
|
|
|
for file in files:
|
|
|
|
values += last[file].values
|
|
|
|
|
2016-06-08 23:21:42 +02:00
|
|
|
print villas.Message(msg.ts, values, "")
|
2015-10-21 12:22:59 +02:00
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
main()
|