self.segment_offset = segment_offset
def __repr__(self):
- return "[\"%s\", %i, %i, %i]" % (self.locator, self.range_start, self.range_size, self.segment_offset)
+ return "Range(\"%s\", %i, %i, %i)" % (self.locator, self.range_start, self.range_size, self.segment_offset)
+
+ def __eq__(self, other):
+ return (self.locator == other.locator and
+ self.range_start == other.range_start and
+ self.range_size == other.range_size and
+ self.segment_offset == other.segment_offset)
def first_block(data_locators, range_start, range_size, debug=False):
block_start = 0L
self.segment_size == other.segment_size)
def __repr__(self):
- return "[\"%s\", %i, %i, %i]" % (self.locator, self.block_size, self.segment_offset, self.segment_size)
+ return "LocatorAndRange(\"%s\", %i, %i, %i)" % (self.locator, self.block_size, self.segment_offset, self.segment_size)
def locators_and_ranges(data_locators, range_start, range_size, debug=False):
'''
def replace_range(data_locators, new_range_start, new_range_size, new_locator, new_segment_offset, debug=False):
'''
Replace a file segment range with a new segment.
+
data_locators: list of Range objects, assumes that segments are in order and contigous
- range_start: start of range
- range_size: size of range
+
+ new_range_start: start of range to replace in data_locators
+
+ new_range_size: size of range to replace in data_locators
+
new_locator: locator for new segment to be inserted
+
+ new_segment_offset: segment offset within the locator
+
+ debug: print debugging details.
+
!!! data_locators will be updated in place !!!
'''
if new_range_size == 0: