Browse Source

feat: [Interval] add overlaps() method

Found to be useful when writing tests
main
Rob Hallam 1 month ago
parent
commit
4a05a94784
1 changed files with 12 additions and 0 deletions
  1. +12
    -0
      pipeline/utils.py

+ 12
- 0
pipeline/utils.py View File

@@ -217,6 +217,18 @@ class Interval():
self.duration = new_duration
self.end = self.start + self.duration

def overlaps(self, other):
"""Check if this interval overlaps (or touches) with another interval

This is the case if:
- this.start <= other.end <= this.end
- this.start <= other.start <= this.end
- other.start <= this.end <= other.end
- other.start <= this.start <= other.end
"""
return (self.start <= other.end <= self.end) or (self.start <= other.start <= self.end) or \
(other.start <= self.end <= other.end) or (other.start <= self.start <= other.end)

class Feature():
"""A feature extracted from a media file ("has a" Interval)



Loading…
Cancel
Save