view datafile.py @ 79:84f96c5fe791

Use different message ID that does not result in "Query UNTERMINATE" messages in the error log. Fix testsrq. Rename queryrsb to querystb as that matches the operating manual.
author Daniel O'Connor <doconnor@gsoft.com.au>
date Fri, 27 Sep 2024 16:53:43 +0930
parents 91b476ebc0f2
children
line wrap: on
line source

import exceptions
import numpy

class DataFile(object):
    def __init__(self, fname):
        f = file(fname)
        self.opts = {}
        for line in f:
            key, value = line.strip().split(' ', 1)
            if key == "XDATA":
                self.freqs = numpy.fromstring(value, sep = ', ')
                continue
            
            if key == "YDATA":
                self.powers = numpy.fromstring(value, sep = ', ')
                continue
            
            try:
                self.opts[key] = int(value)
            except exceptions.ValueError as e:
                try:
                    self.opts[key] = float(value)
                except exceptions.ValueError as e:
                    self.opts[key] = value

    def __getitem__(self, k):
        return self.opts[k]