Source
print(ct+': calwt='+str(self.cld[ct]['calwt'])+str(' (')+str(len(self.cld[ct])-1)+str(' instance[s]):'))
from __future__ import print_function
class callibrary(object):
def __init__(self):
self.cld={} # as dict
def __repr__(self):
return "<callibrary>"
def cldefinstance(self):
definst={
"field" :"",
"intent":"",
"spw": "",
"obs": "",
"fldmap" : [],
"obsmap" : [],
"spwmap" : [],
"antmap" : [],
#"calwt" : False,
"tinterp" : "",
"finterp" : "",
"reach" : ""
}
return definst
def clear(self):
self.__init__()
def len(self):
return len(self.cld)
def addold(self,field='',spw='',intent='',
gaintable='',gainfield='',interp='',spwmap=[],calwt=False):
if len(gaintable)<1:
raise Exception('Please specify at least a gaintable.')
# insist all cal params are lists
# NB: data selection params are _not_ lists
if (not isinstance(gaintable,list)):
gaintable=[gaintable]
if (not isinstance(gainfield,list)):
gainfield=[gainfield]
if (not isinstance(interp,list)):
interp=[interp]
if (not isinstance(calwt,list)):
calwt=[calwt]
if isinstance(spwmap,list) and len(spwmap)>0:
if (not isinstance(spwmap[0],list)):
spwmap=[spwmap] # nest it
else:
spwmap=[]
for itab in range(len(gaintable)):
tint='linear'
fint=''
sinterp=interp[itab].split(',') if itab<len(interp) else []