Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
 def testGunzip(self):
     fstr = rb52odim.gunzip(self.CASRA_AZI_dBZ)
     self.assertTrue(_rb52odim.isRainbow5(fstr))
     os.remove(fstr)
Ejemplo n.º 4
0
 def testIsGoodRB5Input(self):
     status = _rb52odim.isRainbow5(self.GOOD_RB5_VOL)
     self.assertTrue(status)
Ejemplo n.º 5
0
 def testIsBadRB5Input(self):
     status = _rb52odim.isRainbow5(self.BAD_RB5_VOL)
     self.assertFalse(status)
Ejemplo n.º 6
0
 def testWrongInput(self):
     status = _rb52odim.isRainbow5(self.CASRA_AZI_dBZ)
     self.assertFalse(status)
Ejemplo n.º 7
0
 def testIsGoodRB5gzInput(self):
     status = _rb52odim.isRainbow5(self.CASRA_AZI_dBZ)
     self.assertTrue(status)
Ejemplo n.º 8
0
 def testWrongInput(self):
     status = _rb52odim.isRainbow5(self.REF_H5_AZI)
     self.assertFalse(status)