Exemple #1
0
def test_xmp(drivername, filename, expect_xmp):
    drv = gdal.GetDriverByName(drivername)
    if drv is None:
        pytest.skip()

    if drivername == 'PDF':
        md = drv.GetMetadata()
        if 'HAVE_POPPLER' not in md and 'HAVE_PODOFO' not in md:
            pytest.skip()

    # we set ECW to not resolve projection and datum strings to get 3.x behavior.
    gdal.SetConfigOption("ECW_DO_NOT_RESOLVE_DATUM_PROJECTION", "YES")

    if '.jp2' in filename:
        gdaltest.deregister_all_jpeg2000_drivers_but(drivername)

    try:
        ds = gdal.Open(filename)
        if filename == 'data/rgbsmall_with_xmp.webp':
            if ds is None:
                pytest.skip("Old libwebp don't support VP8X containers")
        else:
            assert ds is not None, 'open failed'

        xmp_md = ds.GetMetadata('xml:XMP')

        assert ds.GetDriver().ShortName == drivername, 'opened with wrong driver'
        assert not (expect_xmp and not xmp_md), 'did not find xml:XMP metadata'
        assert not (expect_xmp and 'xml:XMP' not in ds.GetMetadataDomainList()), 'did not find xml:XMP metadata domain'
        assert expect_xmp or not xmp_md, 'found unexpected xml:XMP metadata'

        ds = None
    finally:
        if '.jp2' in filename:
            gdaltest.reregister_all_jpeg2000_drivers()
Exemple #2
0
def test_xmp(drivername, filename, expect_xmp):
    drv = gdal.GetDriverByName(drivername)
    if drv is None:
        pytest.skip()

    if drivername == 'PDF':
        md = drv.GetMetadata()
        if 'HAVE_POPPLER' not in md and 'HAVE_PODOFO' not in md:
            pytest.skip()

    # we set ECW to not resolve projection and datum strings to get 3.x behavior.
    gdal.SetConfigOption("ECW_DO_NOT_RESOLVE_DATUM_PROJECTION", "YES")

    if '.jp2' in filename:
        gdaltest.deregister_all_jpeg2000_drivers_but(drivername)

    try:
        ds = gdal.Open(filename)
        if filename == 'data/rgbsmall_with_xmp.webp':
            if ds is None:
                pytest.skip("Old libwebp don't support VP8X containers")
        else:
            assert ds is not None, 'open failed'

        xmp_md = ds.GetMetadata('xml:XMP')

        assert ds.GetDriver().ShortName == drivername, 'opened with wrong driver'
        assert not (expect_xmp and not xmp_md), 'did not find xml:XMP metadata'
        assert not (expect_xmp and 'xml:XMP' not in ds.GetMetadataDomainList()), 'did not find xml:XMP metadata domain'
        assert expect_xmp or not xmp_md, 'found unexpected xml:XMP metadata'

        ds = None
    finally:
        if '.jp2' in filename:
            gdaltest.reregister_all_jpeg2000_drivers()
Exemple #3
0
    def test( self ):
        try:
            drv = gdal.GetDriverByName(self.drivername)
        except:
            drv = None

        if drv is None:
            return 'skip'

        if self.filename == 'data/byte_with_xmp.jp2':
            gdaltest.deregister_all_jpeg2000_drivers_but(self.drivername)

        ret = 'success'
        ds = gdal.Open(self.filename)
        if ds is None:
            gdaltest.post_reason('open failed')
            ret = 'failure'
        else:
            if ds.GetDriver().ShortName != self.drivername:
                gdaltest.post_reason('opened with wrong driver')
                print(ds.GetDriver().ShortName)
                ret = 'failure'
            elif len(ds.GetMetadata('xml:XMP')) == 0:
                gdaltest.post_reason('did not find xml:XMP metadata')
                ret = 'failure'
        ds = None

        if self.filename == 'data/byte_with_xmp.jp2':
            gdaltest.reregister_all_jpeg2000_drivers()

        return ret
Exemple #4
0
    def test(self):
        try:
            drv = gdal.GetDriverByName(self.drivername)
        except:
            drv = None

        if drv is None:
            return 'skip'

        if self.filename == 'data/byte_with_xmp.jp2':
            gdaltest.deregister_all_jpeg2000_drivers_but(self.drivername)

        ret = 'success'
        ds = gdal.Open(self.filename)
        if ds is None:
            gdaltest.post_reason('open failed')
            ret = 'failure'
        else:
            if ds.GetDriver().ShortName != self.drivername:
                gdaltest.post_reason('opened with wrong driver')
                print(ds.GetDriver().ShortName)
                ret = 'failure'
            elif len(ds.GetMetadata('xml:XMP')) == 0:
                gdaltest.post_reason('did not find xml:XMP metadata')
                ret = 'failure'
        ds = None

        if self.filename == 'data/byte_with_xmp.jp2':
            gdaltest.reregister_all_jpeg2000_drivers()

        return ret
Exemple #5
0
def test_mrsid_cleanup():

    try:
        os.remove('data/mercator.sid.aux.xml')
        os.remove('data/mercator_new.sid.aux.xml')
    except OSError:
        pass

    gdaltest.reregister_all_jpeg2000_drivers()
Exemple #6
0
def test_mrsid_cleanup():

    try:
        os.remove('data/mercator.sid.aux.xml')
        os.remove('data/mercator_new.sid.aux.xml')
    except OSError:
        pass

    gdaltest.reregister_all_jpeg2000_drivers()
Exemple #7
0
def startup_and_cleanup():

    gdaltest.jp2kak_drv = gdal.GetDriverByName('JP2KAK')
    assert gdaltest.jp2kak_drv is not None

    gdaltest.deregister_all_jpeg2000_drivers_but('JP2KAK')

    yield

    gdaltest.reregister_all_jpeg2000_drivers()
Exemple #8
0
def mrsid_cleanup():

    try:
        os.remove( 'data/mercator.sid.aux.xml' )
        os.remove( 'data/mercator_new.sid.aux.xml' )
    except:
        pass
    
    gdaltest.reregister_all_jpeg2000_drivers()
    
    return 'success'
Exemple #9
0
def mrsid_cleanup():

    try:
        os.remove('data/mercator.sid.aux.xml')
        os.remove('data/mercator_new.sid.aux.xml')
    except:
        pass

    gdaltest.reregister_all_jpeg2000_drivers()

    return 'success'
Exemple #10
0
    def test(self):
        try:
            drv = gdal.GetDriverByName(self.drivername)
        except:
            drv = None

        if drv is None:
            return 'skip'

        if self.drivername == 'PDF':
            md = drv.GetMetadata()
            if not 'HAVE_POPPLER' in md and not 'HAVE_PODOFO' in md:
                return 'skip'

        # we set ECW to not resolve projection and datum strings to get 3.x behavior.
        gdal.SetConfigOption("ECW_DO_NOT_RESOLVE_DATUM_PROJECTION", "YES")

        if self.filename.find('.jp2') >= 0:
            gdaltest.deregister_all_jpeg2000_drivers_but(self.drivername)

        ret = 'success'
        ds = gdal.Open(self.filename)
        if ds is None:
            # Old libwebp don't support VP8X containers
            if self.filename == 'data/rgbsmall_with_xmp.webp':
                ret = 'skip'
            else:
                gdaltest.post_reason('open failed')
                ret = 'failure'
        else:
            xmp_md = ds.GetMetadata('xml:XMP')
            if ds.GetDriver().ShortName != self.drivername:
                gdaltest.post_reason('opened with wrong driver')
                print(ds.GetDriver().ShortName)
                ret = 'failure'
            elif self.expect_xmp and len(xmp_md) == 0:
                gdaltest.post_reason('did not find xml:XMP metadata')
                ret = 'failure'
            elif self.expect_xmp and 'xml:XMP' not in ds.GetMetadataDomainList(
            ):
                gdaltest.post_reason('did not find xml:XMP metadata domain')
                ret = 'failure'
            elif (not self.expect_xmp
                  ) and xmp_md is not None and len(xmp_md) != 0:
                gdaltest.post_reason('found unexpected xml:XMP metadata')
                ret = 'failure'
        ds = None

        if self.filename.find('.jp2') >= 0:
            gdaltest.reregister_all_jpeg2000_drivers()

        return ret
Exemple #11
0
    def test( self ):
        try:
            drv = gdal.GetDriverByName(self.drivername)
        except:
            drv = None

        if drv is None:
            return 'skip'

        if self.drivername == 'PDF':
            md = drv.GetMetadata()
            if not 'HAVE_POPPLER' in md and not 'HAVE_PODOFO' in md:
                return 'skip'

        # we set ECW to not resolve projection and datum strings to get 3.x behavior.     
        gdal.SetConfigOption("ECW_DO_NOT_RESOLVE_DATUM_PROJECTION", "YES")

        if self.filename.find('.jp2') >= 0:
            gdaltest.deregister_all_jpeg2000_drivers_but(self.drivername)

        ret = 'success'
        ds = gdal.Open(self.filename)
        if ds is None:
            # Old libwebp don't support VP8X containers
            if self.filename == 'data/rgbsmall_with_xmp.webp':
                ret = 'skip'
            else:
                gdaltest.post_reason('open failed')
                ret = 'failure'
        else:
            xmp_md = ds.GetMetadata('xml:XMP')
            if ds.GetDriver().ShortName != self.drivername:
                gdaltest.post_reason('opened with wrong driver')
                print(ds.GetDriver().ShortName)
                ret = 'failure'
            elif self.expect_xmp and len(xmp_md) == 0:
                gdaltest.post_reason('did not find xml:XMP metadata')
                ret = 'failure'
            elif self.expect_xmp and 'xml:XMP' not in ds.GetMetadataDomainList():
                gdaltest.post_reason('did not find xml:XMP metadata domain')
                ret = 'failure'
            elif (not self.expect_xmp) and xmp_md is not None and len(xmp_md) != 0:
                gdaltest.post_reason('found unexpected xml:XMP metadata')
                ret = 'failure'
        ds = None

        if self.filename.find('.jp2') >= 0:
            gdaltest.reregister_all_jpeg2000_drivers()

        return ret
Exemple #12
0
    def test(self):
        try:
            drv = gdal.GetDriverByName(self.drivername)
        except:
            drv = None

        if drv is None:
            return 'skip'

        if self.drivername == 'PDF':
            md = drv.GetMetadata()
            if not 'HAVE_POPPLER' in md and not 'HAVE_PODOFO' in md:
                return 'skip'

        if self.filename == 'data/byte_with_xmp.jp2':
            gdaltest.deregister_all_jpeg2000_drivers_but(self.drivername)

        ret = 'success'
        ds = gdal.Open(self.filename)
        if ds is None:
            # Old libwebp don't support VP8X containers
            if self.filename == 'data/rgbsmall_with_xmp.webp':
                ret = 'skip'
            else:
                gdaltest.post_reason('open failed')
                ret = 'failure'
        else:
            xmp_md = ds.GetMetadata('xml:XMP')
            if ds.GetDriver().ShortName != self.drivername:
                gdaltest.post_reason('opened with wrong driver')
                print(ds.GetDriver().ShortName)
                ret = 'failure'
            elif self.expect_xmp and len(xmp_md) == 0:
                gdaltest.post_reason('did not find xml:XMP metadata')
                ret = 'failure'
            elif self.expect_xmp and 'xml:XMP' not in ds.GetMetadataDomainList(
            ):
                gdaltest.post_reason('did not find xml:XMP metadata domain')
                ret = 'failure'
            elif (not self.expect_xmp
                  ) and xmp_md is not None and len(xmp_md) != 0:
                gdaltest.post_reason('found unexpected xml:XMP metadata')
                ret = 'failure'
        ds = None

        if self.filename == 'data/byte_with_xmp.jp2':
            gdaltest.reregister_all_jpeg2000_drivers()

        return ret
Exemple #13
0
def startup_and_cleanup():

    gdaltest.mrsid_drv = gdal.GetDriverByName('MrSID')
    gdaltest.jp2mrsid_drv = gdal.GetDriverByName('JP2MrSID')
    if gdaltest.jp2mrsid_drv:
        gdaltest.deregister_all_jpeg2000_drivers_but('JP2MrSID')

    yield

    gdaltest.reregister_all_jpeg2000_drivers()

    try:
        os.remove('data/sid/mercator.sid.aux.xml')
        os.remove('data/sid/mercator_new.sid.aux.xml')
    except OSError:
        pass
Exemple #14
0
    def test( self ):
        try:
            drv = gdal.GetDriverByName(self.drivername)
        except:
            drv = None

        if drv is None:
            return 'skip'

        if self.drivername == 'PDF':
            md = drv.GetMetadata()
            if not 'HAVE_POPPLER' in md and not 'HAVE_PODOFO' in md:
                return 'skip'

        if self.filename == 'data/byte_with_xmp.jp2':
            gdaltest.deregister_all_jpeg2000_drivers_but(self.drivername)

        ret = 'success'
        ds = gdal.Open(self.filename)
        if ds is None:
            # Old libwebp don't support VP8X containers
            if self.filename == 'data/rgbsmall_with_xmp.webp':
                ret = 'skip'
            else:
                gdaltest.post_reason('open failed')
                ret = 'failure'
        else:
            xmp_md = ds.GetMetadata('xml:XMP')
            if ds.GetDriver().ShortName != self.drivername:
                gdaltest.post_reason('opened with wrong driver')
                print(ds.GetDriver().ShortName)
                ret = 'failure'
            elif self.expect_xmp and len(xmp_md) == 0:
                gdaltest.post_reason('did not find xml:XMP metadata')
                ret = 'failure'
            elif self.expect_xmp and 'xml:XMP' not in ds.GetMetadataDomainList():
                gdaltest.post_reason('did not find xml:XMP metadata domain')
                ret = 'failure'
            elif (not self.expect_xmp) and xmp_md is not None and len(xmp_md) != 0:
                gdaltest.post_reason('found unexpected xml:XMP metadata')
                ret = 'failure'
        ds = None

        if self.filename == 'data/byte_with_xmp.jp2':
            gdaltest.reregister_all_jpeg2000_drivers()

        return ret
Exemple #15
0
def ecw_cleanup():

    #gdaltest.clean_tmp()

    try:
        os.remove('tmp/jrc_out.ecw')
    except:
        pass
    try:
        os.remove('tmp/ecw_5.jp2')
    except:
        pass
    try:
        os.remove('tmp/ecw_5.jp2.aux.xml')
    except:
        pass
    try:
        os.remove('tmp/ecw_7.ntf')
    except:
        pass
    try:
        os.remove('tmp/ecw9.jp2')
    except:
        pass
    try:
        os.remove('tmp/test_11.ntf')
    except:
        pass
    try:
        os.remove('tmp/rgb_gcp.jp2')
    except:
        pass
    try:
        os.remove('tmp/spif83.ecw')
    except:
        pass
    try:
        os.remove('tmp/spif83.ecw.aux.xml')
    except:
        pass

    gdaltest.reregister_all_jpeg2000_drivers()

    return 'success'
Exemple #16
0
def ecw_cleanup():

    #gdaltest.clean_tmp()

    try:
        os.remove( 'tmp/jrc_out.ecw' )
    except:
        pass
    try:
        os.remove( 'tmp/ecw_5.jp2' )
    except:
        pass
    try:
        os.remove( 'tmp/ecw_5.jp2.aux.xml' )
    except:
        pass
    try:
        os.remove( 'tmp/ecw_7.ntf' )
    except:
        pass
    try:
        os.remove( 'tmp/ecw9.jp2' )
    except:
        pass
    try:
        os.remove( 'tmp/test_11.ntf' )
    except:
        pass
    try:
        os.remove( 'tmp/rgb_gcp.jp2' )
    except:
        pass
    try:
        os.remove( 'tmp/spif83.ecw' )
    except:
        pass
    try:
        os.remove( 'tmp/spif83.ecw.aux.xml' )
    except:
        pass

    gdaltest.reregister_all_jpeg2000_drivers()
    
    return 'success'
Exemple #17
0
def test_validate_jp2_cleanup():

    if gdaltest.has_validate_jp2_and_build_jp2:
        gdaltest.reregister_all_jpeg2000_drivers()

    return 'success'
Exemple #18
0
def jpeg2000_cleanup():

    gdaltest.reregister_all_jpeg2000_drivers()

    return 'success'
def test_validate_jp2_cleanup():

    if gdaltest.has_validate_jp2_and_build_jp2:
        gdaltest.reregister_all_jpeg2000_drivers()
Exemple #20
0
def test_jp2kak_cleanup():

    gdaltest.reregister_all_jpeg2000_drivers()
Exemple #21
0
def jp2openjpeg_cleanup():

    gdaltest.reregister_all_jpeg2000_drivers()

    return 'success'
Exemple #22
0
def test_jpeg2000_cleanup():

    gdaltest.reregister_all_jpeg2000_drivers()