Allowing DataReferenceBoxes to be empty. #175
This commit is contained in:
parent
c82d525dd2
commit
4276a978ea
2 changed files with 18 additions and 2 deletions
|
|
@ -915,9 +915,12 @@ class DataReferenceBox(Jp2kBox):
|
|||
DR : list
|
||||
Data Entry URL boxes.
|
||||
"""
|
||||
def __init__(self, data_entry_url_boxes, length=0, offset=-1):
|
||||
def __init__(self, data_entry_url_boxes=None, length=0, offset=-1):
|
||||
Jp2kBox.__init__(self, box_id='dtbl', longname='Data Reference')
|
||||
self.DR = data_entry_url_boxes
|
||||
if data_entry_url_boxes is None:
|
||||
self.DR = []
|
||||
else:
|
||||
self.DR = data_entry_url_boxes
|
||||
self.length = length
|
||||
self.offset = offset
|
||||
|
||||
|
|
|
|||
|
|
@ -127,6 +127,19 @@ class TestJPXWrap(unittest.TestCase):
|
|||
self.assertEqual(jpx.box[-1].box[2].box_id, 'lbl ')
|
||||
self.assertEqual(jpx.box[-1].box[2].label, label)
|
||||
|
||||
def test_empty_data_reference(self):
|
||||
"""Data reference boxes can be empty."""
|
||||
jp2 = Jp2k(self.jp2file)
|
||||
boxes = [jp2.box[idx] for idx in [0, 1, 2, 4]]
|
||||
|
||||
dref = glymur.jp2box.DataReferenceBox()
|
||||
boxes.append(dref)
|
||||
|
||||
with tempfile.NamedTemporaryFile(suffix=".jpx") as tfile:
|
||||
jpx = jp2.wrap(tfile.name, boxes=boxes)
|
||||
self.assertEqual(jpx.box[-1].box_id, 'dtbl')
|
||||
self.assertEqual(len(jpx.box[-1].box), 0)
|
||||
|
||||
def test_only_one_data_reference(self):
|
||||
"""Data reference boxes cannot be inside a superbox ."""
|
||||
jp2 = Jp2k(self.jp2file)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue