def _wrhd_special(self, name, val): """Provide write access to special header items of type '?' to _rdhd""" if name == 'freqs': h = self.haccess(name, 'write') o = _miriad.hwrite(h, 0, val[0], 'i') offset = 8 for i,v in enumerate(val[1:]): if i % 3 == 0: o = _miriad.hwrite(h, offset, v, 'i') else: o = _miriad.hwrite(h, offset, v, 'd') offset += 8 _miriad.hdaccess(h) else: raise ValueError('Unknown special header: ' + name)
def _wrhd(self, name, val): """Provide write access to header items via low-level calls.""" type = itemtable[name] if type == '?': return self._wrhd_special(name, val) h = self.haccess(name, 'write') if len(type) == 1: try: len(val) except(TypeError): val = [val] if type == 'a': offset = 0 else: offset = _miriad.hwrite_init(h, type) for v in val: offset += _miriad.hwrite(h, offset, v, type) else: offset = _miriad.hwrite_init(h, 'b') for v, t in zip(val,type): offset += _miriad.hwrite(h,offset,v,t) _miriad.hdaccess(h)