diff --git a/pyproject.toml b/pyproject.toml index 56ace37..6134111 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta" [project] name = "mpd-parser" -version = "0.1.5" +version = "0.1.6" description = "lxml based parser for DASH manifests (mpd files)" readme = "README.md" authors = [{ name = "Avishay Cohen", email = "avishay.c@gmail.com" }] diff --git a/setup.cfg b/setup.cfg index 632adaf..567e93e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = mpd-parser -version = 0.1.5 +version = 0.1.6 author = Avishay Cohen author_email = avishay.c@gmail.com description = A parser for mpd manifest files diff --git a/src/mpd_parser/models/composite_tags.py b/src/mpd_parser/models/composite_tags.py index b23ed5a..7400042 100644 --- a/src/mpd_parser/models/composite_tags.py +++ b/src/mpd_parser/models/composite_tags.py @@ -100,13 +100,9 @@ def segment_lists(self): ] @cached_property - def segment_templates(self): - return [ - SegmentTemplate(member) - for member in self.element.xpath( - LOOKUP_STR_FORMAT.format(target="SegmentTemplate") - ) - ] + def segment_template(self): + elements = self.element.xpath(LOOKUP_STR_FORMAT.format(target="SegmentTemplate")) + return SegmentTemplate(elements[0]) if elements else None @cached_property def asset_identifiers(self): @@ -601,13 +597,9 @@ def segment_lists(self): ] @cached_property - def segment_templates(self): - return [ - SegmentTemplate(member) - for member in self.element.xpath( - LOOKUP_STR_FORMAT.format(target="SegmentTemplate") - ) - ] + def segment_template(self): + elements = self.element.xpath(LOOKUP_STR_FORMAT.format(target="SegmentTemplate")) + return SegmentTemplate(elements[0]) if elements else None @cached_property def sub_representations(self): @@ -769,13 +761,9 @@ def segment_lists(self): ] @cached_property - def segment_templates(self): - return [ - SegmentTemplate(member) - for member in self.element.xpath( - LOOKUP_STR_FORMAT.format(target="SegmentTemplate") - ) - ] + def segment_template(self): + elements = self.element.xpath(LOOKUP_STR_FORMAT.format(target="SegmentTemplate")) + return SegmentTemplate(elements[0]) if elements else None @cached_property def representations(self): diff --git a/src/mpd_parser/models/segment_tags.py b/src/mpd_parser/models/segment_tags.py index 2aded2e..144767a 100644 --- a/src/mpd_parser/models/segment_tags.py +++ b/src/mpd_parser/models/segment_tags.py @@ -94,13 +94,11 @@ def start_number(self): return get_int_value(self.element.attrib.get("startNumber")) @cached_property - def segment_timelines(self): - return [ - SegmentTimeline(member) - for member in self.element.xpath( - LOOKUP_STR_FORMAT.format(target="SegmentTimeline") - ) - ] + def segment_timeline(self): + elements = self.element.xpath( + LOOKUP_STR_FORMAT.format(target="SegmentTimeline") + ) + return SegmentTimeline(elements[0]) if elements else None @cached_property def bitstream_switchings(self):