Source
"Fitting result '%s' in row=%d, pol=%d differs: %f (expected: %f)" % (key, in_row, in_pol, test_value[key][idx], reference[key]))
#import os
import copy
import glob
import sys
import shutil
import numpy
from __main__ import default
from tasks import *
from taskinit import *
import unittest
#
import listing
from numpy import array
from sdfit import sdfit
from sdutil import tbmanager
try:
import selection_syntax
except:
import tests.selection_syntax as selection_syntax
try:
import testutils
except:
import tests.testutils as testutils
### Utilities for reading blparam file
class FileReader(object):
def __init__(self, filename):
self.__filename = filename
self.__data = None
self.__nline = None
def read(self):
if self.__data is None:
f = open(self.__filename, 'r')
self.__data = f.readlines()
f.close()
self.__nline = len(self.__data)
return
def nline(self):
self.read()
return self.__nline
def index(self, txt, start):
return self.__data[start:].index(txt) + 1 + start
def getline(self, idx):
return self.__data[idx]
class BlparamFileParser(FileReader):
def __init__(self, blfile):
FileReader.__init__(self, blfile)
self.__nrow = None
self.__coeff = None
self.__rms = None
self.__ctxt = 'Baseline parameters\n'
self.__rtxt = 'Results of baseline fit\n'
def nrow(self):
self.read()
if self.__nrow is None:
return self._nrow()
else:
return self.__nrow
def coeff(self):
self.read()
if self.__coeff is None:
self.parseCoeff()
return self.__coeff
def rms(self):
self.read()
if self.__rms is None:
self.parseRms()
return self.__rms
def _nrow(self):
self.__nrow = 0
for i in xrange(self.nline()):
if self.getline(i) == self.__ctxt:
self.__nrow += 1
return self.__nrow
def parse(self):
self.read()
self.parseCoeff()