Loading tools/releasetools/blockimgdiff.py +1 −2 Original line number Diff line number Diff line Loading @@ -191,8 +191,7 @@ class Transfer(object): self.tgt_sha1 = tgt_sha1 self.src_sha1 = src_sha1 self.style = style self.intact = (getattr(tgt_ranges, "monotonic", False) and getattr(src_ranges, "monotonic", False)) self.intact = tgt_ranges.monotonic and src_ranges.monotonic # We use OrderedDict rather than dict so that the output is repeatable; # otherwise it would depend on the hash values of the Transfer objects. Loading tools/releasetools/rangelib.py +22 −13 Original line number Diff line number Diff line Loading @@ -13,15 +13,22 @@ # limitations under the License. from __future__ import print_function import heapq import itertools __all__ = ["RangeSet"] class RangeSet(object): """A RangeSet represents a set of nonoverlapping ranges on the integers (ie, a set of integers, but efficient when the set contains lots of runs.""" """A RangeSet represents a set of non-overlapping ranges on integers. Attributes: monotonic: Whether the input has all its integers in increasing order. extra: A dict that can be used by the caller, e.g. to store info that's only meaningful to caller. """ def __init__(self, data=None): self.monotonic = False Loading Loading @@ -63,16 +70,18 @@ class RangeSet(object): @classmethod def parse(cls, text): """Parse a text string consisting of a space-separated list of blocks and ranges, eg "10-20 30 35-40". Ranges are interpreted to include both their ends (so the above example represents 18 individual blocks. Returns a RangeSet object. If the input has all its blocks in increasing order, then returned RangeSet will have an extra attribute 'monotonic' that is set to True. For example the input "10-20 30" is monotonic, but the input "15-20 30 10-14" is not, even though they represent the same set of blocks (and the two RangeSets will compare equal with ==). """Parses a text string into a RangeSet. The input text string consists of a space-separated list of blocks and ranges, e.g. "10-20 30 35-40". Ranges are interpreted to include both their ends (so the above example represents 18 individual blocks). Returns a RangeSet object. If the input has all its blocks in increasing order, then the 'monotonic' attribute of the returned RangeSet will be set to True. For example the input "10-20 30" is monotonic, but the input "15-20 30 10-14" is not, even though they represent the same set of blocks (and the two RangeSets will compare equal with ==). """ return cls(text) Loading Loading
tools/releasetools/blockimgdiff.py +1 −2 Original line number Diff line number Diff line Loading @@ -191,8 +191,7 @@ class Transfer(object): self.tgt_sha1 = tgt_sha1 self.src_sha1 = src_sha1 self.style = style self.intact = (getattr(tgt_ranges, "monotonic", False) and getattr(src_ranges, "monotonic", False)) self.intact = tgt_ranges.monotonic and src_ranges.monotonic # We use OrderedDict rather than dict so that the output is repeatable; # otherwise it would depend on the hash values of the Transfer objects. Loading
tools/releasetools/rangelib.py +22 −13 Original line number Diff line number Diff line Loading @@ -13,15 +13,22 @@ # limitations under the License. from __future__ import print_function import heapq import itertools __all__ = ["RangeSet"] class RangeSet(object): """A RangeSet represents a set of nonoverlapping ranges on the integers (ie, a set of integers, but efficient when the set contains lots of runs.""" """A RangeSet represents a set of non-overlapping ranges on integers. Attributes: monotonic: Whether the input has all its integers in increasing order. extra: A dict that can be used by the caller, e.g. to store info that's only meaningful to caller. """ def __init__(self, data=None): self.monotonic = False Loading Loading @@ -63,16 +70,18 @@ class RangeSet(object): @classmethod def parse(cls, text): """Parse a text string consisting of a space-separated list of blocks and ranges, eg "10-20 30 35-40". Ranges are interpreted to include both their ends (so the above example represents 18 individual blocks. Returns a RangeSet object. If the input has all its blocks in increasing order, then returned RangeSet will have an extra attribute 'monotonic' that is set to True. For example the input "10-20 30" is monotonic, but the input "15-20 30 10-14" is not, even though they represent the same set of blocks (and the two RangeSets will compare equal with ==). """Parses a text string into a RangeSet. The input text string consists of a space-separated list of blocks and ranges, e.g. "10-20 30 35-40". Ranges are interpreted to include both their ends (so the above example represents 18 individual blocks). Returns a RangeSet object. If the input has all its blocks in increasing order, then the 'monotonic' attribute of the returned RangeSet will be set to True. For example the input "10-20 30" is monotonic, but the input "15-20 30 10-14" is not, even though they represent the same set of blocks (and the two RangeSets will compare equal with ==). """ return cls(text) Loading