Tests passing on bare 2.6.6 python. #104
This commit is contained in:
parent
553b36d40e
commit
6d340a5a8a
3 changed files with 28 additions and 7 deletions
|
|
@ -11,6 +11,18 @@ import numpy as np
|
||||||
import glymur
|
import glymur
|
||||||
|
|
||||||
|
|
||||||
|
# The Python XMP Toolkit may be used for XMP UUIDs, but only if available and
|
||||||
|
# if the version is at least 2.0.0.
|
||||||
|
try:
|
||||||
|
import libxmp
|
||||||
|
if hasattr(libxmp, 'version') and re.match('[2-9].\d*.\d*', libxmp.version.VERSION):
|
||||||
|
from libxmp import XMPMeta
|
||||||
|
HAS_PYTHON_XMP_TOOLKIT = True
|
||||||
|
else:
|
||||||
|
HAS_PYTHON_XMP_TOOLKIT = False
|
||||||
|
except ImportError:
|
||||||
|
HAS_PYTHON_XMP_TOOLKIT = False
|
||||||
|
|
||||||
# Need to know of the libopenjp2 version is the official 2.0.0 release and NOT
|
# Need to know of the libopenjp2 version is the official 2.0.0 release and NOT
|
||||||
# the 2.0+ development version.
|
# the 2.0+ development version.
|
||||||
OPENJP2_IS_V2_OFFICIAL = False
|
OPENJP2_IS_V2_OFFICIAL = False
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,9 @@ if sys.hexversion <= 0x03030000:
|
||||||
else:
|
else:
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
from libxmp import XMPMeta
|
from .fixtures import HAS_PYTHON_XMP_TOOLKIT, OPJ_DATA_ROOT
|
||||||
|
if HAS_PYTHON_XMP_TOOLKIT:
|
||||||
|
from libxmp import XMPMeta
|
||||||
|
|
||||||
import glymur
|
import glymur
|
||||||
from glymur import Jp2k
|
from glymur import Jp2k
|
||||||
|
|
@ -66,9 +68,13 @@ class TestUUIDXMP(unittest.TestCase):
|
||||||
actual_ids = [b.box_id for b in jp2.box]
|
actual_ids = [b.box_id for b in jp2.box]
|
||||||
self.assertEqual(actual_ids, expected_ids)
|
self.assertEqual(actual_ids, expected_ids)
|
||||||
|
|
||||||
# The data should be an XMP packet, which gets interpreted as
|
# The data should be an XMP packet
|
||||||
# an ElementTree.
|
if HAS_PYTHON_XMP_TOOLKIT:
|
||||||
self.assertTrue(isinstance(jp2.box[-1].data, XMPMeta))
|
# when python xmp toolkit is available.
|
||||||
|
self.assertTrue(isinstance(jp2.box[-1].data, XMPMeta))
|
||||||
|
else:
|
||||||
|
# when python xmp toolkit is not available.
|
||||||
|
self.assertTrue(isinstance(jp2.box[-1].data, str))
|
||||||
|
|
||||||
class TestUUIDExif(unittest.TestCase):
|
class TestUUIDExif(unittest.TestCase):
|
||||||
"""Tests for UUIDs of Exif type."""
|
"""Tests for UUIDs of Exif type."""
|
||||||
|
|
|
||||||
|
|
@ -30,12 +30,13 @@ import warnings
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import pkg_resources
|
import pkg_resources
|
||||||
|
|
||||||
import libxmp
|
|
||||||
|
|
||||||
import glymur
|
import glymur
|
||||||
from glymur import Jp2k
|
from glymur import Jp2k
|
||||||
|
|
||||||
from .fixtures import OPENJP2_IS_V2_OFFICIAL
|
from .fixtures import HAS_PYTHON_XMP_TOOLKIT, OPENJP2_IS_V2_OFFICIAL
|
||||||
|
if HAS_PYTHON_XMP_TOOLKIT:
|
||||||
|
import libxmp
|
||||||
|
|
||||||
from .fixtures import OPJ_DATA_ROOT, opj_data_file
|
from .fixtures import OPJ_DATA_ROOT, opj_data_file
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -361,6 +362,8 @@ class TestJp2k(unittest.TestCase):
|
||||||
self.assertEqual(ET.tostring(jp2k.box[3].xml.getroot()),
|
self.assertEqual(ET.tostring(jp2k.box[3].xml.getroot()),
|
||||||
b'<test>this is a test</test>')
|
b'<test>this is a test</test>')
|
||||||
|
|
||||||
|
@unittest.skipIf(not HAS_PYTHON_XMP_TOOLKIT,
|
||||||
|
"Requires Python XMP Toolkit >= 2.0")
|
||||||
def test_xmp_attribute(self):
|
def test_xmp_attribute(self):
|
||||||
"""Verify the XMP packet in the shipping example file can be read."""
|
"""Verify the XMP packet in the shipping example file can be read."""
|
||||||
j = Jp2k(self.jp2file)
|
j = Jp2k(self.jp2file)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue