def combineRB5(ifiles, out_fullfile=None, return_rio=False): big_obj = None nMEMBERs = len(ifiles) for iMEMBER in range(nMEMBERs): inp_fullfile = ifiles[iMEMBER] validate(inp_fullfile) mb = parse_tarball_member_name(inp_fullfile, ignoredir=True) if mb['rb5_ftype'] == "rawdata": isrb5 = _rb52odim.isRainbow5(inp_fullfile) if not isrb5: raise IOError, "%s is not a proper RB5 raw file" % inp_fullfile else: rio = _rb52odim.readRB5(inp_fullfile) ## by FILENAME this_obj = rio.object if rio.objectType == _rave.Rave_ObjectType_PVOL: big_obj = compile_big_pvol(big_obj, this_obj, mb, iMEMBER) else: big_obj = compile_big_scan(big_obj, this_obj, mb) container = _raveio.new() container.object = big_obj if out_fullfile: container.save(out_fullfile) if return_rio: return container
def singleRB5(inp_fullfile, out_fullfile=None, return_rio=False): TMPFILE = False validate(inp_fullfile) orig_ifile = copy(inp_fullfile) if mimetypes.guess_type(inp_fullfile)[1] == 'gzip': inp_fullfile = gunzip(inp_fullfile) TMPFILE = True if not _rb52odim.isRainbow5(inp_fullfile): raise IOError("%s is not a proper RB5 raw file" % orig_ifile) rio = _rb52odim.readRB5(inp_fullfile) if TMPFILE: os.remove(inp_fullfile) if out_fullfile: rio.save(out_fullfile) if return_rio: return rio
def testGunzip(self): fstr = rb52odim.gunzip(self.CASRA_AZI_dBZ) self.assertTrue(_rb52odim.isRainbow5(fstr)) os.remove(fstr)
def testIsGoodRB5Input(self): status = _rb52odim.isRainbow5(self.GOOD_RB5_VOL) self.assertTrue(status)
def testIsBadRB5Input(self): status = _rb52odim.isRainbow5(self.BAD_RB5_VOL) self.assertFalse(status)
def testWrongInput(self): status = _rb52odim.isRainbow5(self.CASRA_AZI_dBZ) self.assertFalse(status)
def testIsGoodRB5gzInput(self): status = _rb52odim.isRainbow5(self.CASRA_AZI_dBZ) self.assertTrue(status)
def testWrongInput(self): status = _rb52odim.isRainbow5(self.REF_H5_AZI) self.assertFalse(status)