Mercurial > ~darius > hgwebdir.cgi > pyinst
view find.py @ 85:60ad91b4c67c default tip
Add 'quick' option to use a faster sweep time with no averaging.
Useful for testing the hardware is setup correctly without having to wait 3 minutes.
author | Daniel O'Connor <doconnor@gsoft.com.au> |
---|---|
date | Mon, 21 Oct 2024 14:12:50 +1030 |
parents | 91b476ebc0f2 |
children |
line wrap: on
line source
#!/usr/bin/env python import datafile import getopt import numpy import sys from functools import reduce if __name__ == "__main__": opts, args = getopt.getopt(sys.argv[1:], "e:hm:s") minlev = None exptag = None dostats = False for o, a in opts: if o == "-h": print("""Find data files with certain characteristics %s [-h] [-e exp] [-m min] [-s] file [file ..] exp Limit to experiment tag exp min Find files with power greater than min -s Print stats about files """) elif o == "-e": exptag = a elif o == "-m": minlev = float(a) elif o == "-s": dostats = True else: print("Unknown option " + o) sys.exit(1) if len(args) == 0: print("Need at least one file to analyse") sys.exit(1) minfiles = [] if dostats: print("%-50s %7s %7s %7s (dBm)" % ("Name", "Min", "Mean", "Max")) for fn in args: dfile = datafile.DataFile(fn) if exptag != None and dfile['TAG'] != exptag: continue if minlev != None: if reduce(lambda x, y: x or y, dfile.powers > minlev): minfiles.append(fn) if dostats: print("%-50s %7.2f %7.2f %7.2f" % (fn, dfile.powers.min(), dfile.powers.mean(), dfile.powers.max())) if minlev != None: if dostats: print("") print("Files with any sample exceeding %.2f dBm:" % (minlev)) for fn in minfiles: print(fn)