+ @synchronized
+ def manifest_text(self, stream_name=".", portable_locators=False, normalize=False):
+ buf = ""
+ filestream = []
+ for segment in self.segments:
+ loc = segment.locator
+ if loc.startswith("bufferblock"):
+ loc = self._bufferblocks[loc].calculate_locator()
+ if portable_locators:
+ loc = KeepLocator(loc).stripped()
+ filestream.append(LocatorAndRange(loc, locator_block_size(loc),
+ segment.segment_offset, segment.range_size))
+ buf += ' '.join(normalize_stream(stream_name, {stream_name: filestream}))
+ buf += "\n"
+ return buf
+
+