Beispiel #1
0
def load_recordings(filename):
    handle = open(filename, 'rb')
    data = json.loads(handle.read())
    handle.close()

    _header = data[0]
    _version = data[1]['Version']
    freq = data[1]['Frequency'] / 1e6
    gain = data[1]['Gain'] if 'Gain' in data[1] else None
    cal = data[1]['Calibration'] if 'Calibration' in data[1] else 0
    dynP = data[1]['DynamicPercentile'] if 'DynamicPercentile' in data[
        1] else 33
    jsonMonitors = data[1]['Monitors']

    monitors = []
    for jsonMonitor in jsonMonitors:
        alert = jsonMonitor['Alert'] if 'Alert' in jsonMonitor else False
        signals = [
            Signal().from_list(signal) for signal in jsonMonitor['Signals']
        ]
        dynamic = False
        if 'Dynamic' in jsonMonitor:
            dynamic = jsonMonitor['Dynamic']
        colour = None
        if 'Colour' in jsonMonitor:
            colour = jsonMonitor['Colour']
        periods = []
        if 'Periods' in jsonMonitor:
            periods = [
                Period().from_list(period) for period in jsonMonitor['Periods']
            ]

        monitor = Monitor(colour, jsonMonitor['Enabled'], alert,
                          jsonMonitor['Frequency'] / 1e6,
                          jsonMonitor['Threshold'], dynamic, signals, periods)
        monitors.append(monitor)

    return freq, gain, cal, dynP, monitors