MCPcopy Create free account
hub / github.com/aboutcode-org/scancode-toolkit / subspans

Method subspans

src/licensedcode/spans.py:454–474  ·  view source on GitHub ↗

Return a list of Spans creating one new Span for each set of contiguous integer items. For example: >>> span = Span(5, 6, 7, 8, 9, 10) | Span([1, 2]) | Span(3, 5) | Span(3, 6) | Span([8, 9, 10]) >>> span.subspans() [Span(1, 10)] When subspan

(self)

Source from the content-addressed store, hash-verified

452 return [Span(g) for g in groups]
453
454 def subspans(self):
455 """
456 Return a list of Spans creating one new Span for each set of contiguous
457 integer items.
458
459 For example:
460 >>> span = Span(5, 6, 7, 8, 9, 10) | Span([1, 2]) | Span(3, 5) | Span(3, 6) | Span([8, 9, 10])
461 >>> span.subspans()
462 [Span(1, 10)]
463
464 When subspans are not touching they do not merge :
465 >>> span = Span([63, 64]) | Span([58, 58])
466 >>> span.subspans()
467 [Span(58), Span(63, 64)]
468
469 Overlapping subspans are merged as needed:
470 >>> span = Span([12, 17, 24]) | Span([15, 16, 17, 35]) | Span(58) | Span(63, 64)
471 >>> span.subspans()
472 [Span(12), Span(15, 17), Span(24), Span(35), Span(58), Span(63, 64)]
473 """
474 return Span.from_ints(self)

Callers 2

__repr__Method · 0.95
match_queryMethod · 0.80

Calls 1

from_intsMethod · 0.80

Tested by

no test coverage detected