from demo2 import Demo from demparse import Time import sys, os def fr(fname): ts = [] for block in Demo(fname): for message in block.filtered((Time.code,)): ts.append(message.time) dts = [] for i in range(1, len(ts)): if ts[i] - ts[i-1]: dts.append((ts[i], 1/(ts[i] - ts[i-1]))) return dts, sum([d[1] for d in dts])/len(dts) def main(argv): plot = False while '--plot' in argv: plot = True argv.remove('--plot') for fname in argv: ts, f = fr(fname) if plot: o = open('f.txt', 'w') for t, d in ts: print >>o, t, d o.close() os.system('''gnuplot << EOF set terminal aqua 0 title "%s" plot "f.txt" title "%s" EOF'''%(fname, fname)) print fname, f if __name__ == '__main__': main(sys.argv[1:])