From 74420e587ccbb592ec97ee2e8641a83c928feebd Mon Sep 17 00:00:00 2001 From: John Evans Date: Wed, 23 Oct 2013 08:17:17 -0400 Subject: [PATCH] Added 'url ', 'lbl ' box support. #133 --- glymur/jp2box.py | 9 +++++++++ glymur/test/test_jp2box.py | 19 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/glymur/jp2box.py b/glymur/jp2box.py index 3c775c0..52ad263 100644 --- a/glymur/jp2box.py +++ b/glymur/jp2box.py @@ -1826,6 +1826,10 @@ class LabelBox(Jp2kBox): msg += '\n Label: {0}'.format(self.label) return msg + def __repr__(self): + msg = 'glymur.jp2box.LabelBox("{0}")'.format(self.label) + return msg + @staticmethod def parse(fptr, offset, length): """Parse Label box. @@ -2109,6 +2113,11 @@ class DataEntryURLBox(Jp2kBox): self.length = length self.offset = offset + def __repr__(self): + msg = "glymur.jp2box.DataEntryURLBox({0}, {1}, '{2}')" + msg = msg.format(self.version, self.flag, self.url) + return msg + def __str__(self): msg = Jp2kBox.__str__(self) msg += '\n ' diff --git a/glymur/test/test_jp2box.py b/glymur/test/test_jp2box.py index 0373b01..55a7b02 100644 --- a/glymur/test/test_jp2box.py +++ b/glymur/test/test_jp2box.py @@ -820,6 +820,25 @@ class TestRepr(unittest.TestCase): self.assertEqual(newbox.box[1].vertical_resolution, 2.5) self.assertEqual(newbox.box[1].horizontal_resolution, 0.5) + def test_label_box(self): + """Verify __repr__ method on label box.""" + lbl = glymur.jp2box.LabelBox("this is a test") + newbox = eval(repr(lbl)) + self.assertEqual(newbox.box_id, 'lbl ') + self.assertEqual(newbox.label, "this is a test") + + def test_data_entry_url_box(self): + """Verify __repr__ method on data entry url box.""" + version = 0 + flag = (0, 0, 0) + url = "http://readthedocs.glymur.org" + box = glymur.jp2box.DataEntryURLBox(version, flag, url) + newbox = eval(repr(box)) + self.assertEqual(newbox.box_id, 'url ') + self.assertEqual(newbox.version, version) + self.assertEqual(newbox.flag, flag) + self.assertEqual(newbox.url, url) + class TestJpxBoxes(unittest.TestCase): """Tests for JPX boxes."""