@@ -32,7 +32,7 @@ class Interval(namedtuple('IntervalBase', ['begin', 'end', 'data'])):
3232
3333 def __new__ (cls , begin , end , data = None ):
3434 return super (Interval , cls ).__new__ (cls , begin , end , data )
35-
35+
3636 def overlaps (self , begin , end = None ):
3737 """
3838 Whether the interval overlaps the given point, range or Interval.
@@ -44,7 +44,7 @@ def overlaps(self, begin, end=None):
4444 if end is not None :
4545 # An overlap means that some C exists that is inside both ranges:
4646 # begin <= C < end
47- # and
47+ # and
4848 # self.begin <= C < self.end
4949 # See https://stackoverflow.com/questions/3269434/whats-the-most-efficient-way-to-test-two-integer-ranges-for-overlap/3269471#3269471
5050 return begin < self .end and end > self .begin
@@ -84,7 +84,7 @@ def contains_point(self, p):
8484 :rtype: bool
8585 """
8686 return self .begin <= p < self .end
87-
87+
8888 def range_matches (self , other ):
8989 """
9090 Whether the begins equal and the ends equal. Compare __eq__().
@@ -93,10 +93,10 @@ def range_matches(self, other):
9393 :rtype: bool
9494 """
9595 return (
96- self .begin == other .begin and
96+ self .begin == other .begin and
9797 self .end == other .end
9898 )
99-
99+
100100 def contains_interval (self , other ):
101101 """
102102 Whether other is contained in this Interval.
@@ -108,10 +108,10 @@ def contains_interval(self, other):
108108 self .begin <= other .begin and
109109 self .end >= other .end
110110 )
111-
111+
112112 def distance_to (self , other ):
113113 """
114- Returns the size of the gap between intervals, or 0
114+ Returns the size of the gap between intervals, or 0
115115 if they touch or overlap.
116116 :param other: Interval or point
117117 :return: distance
@@ -291,7 +291,7 @@ def _get_fields(self):
291291 return self .begin , self .end , self .data
292292 else :
293293 return self .begin , self .end
294-
294+
295295 def __repr__ (self ):
296296 """
297297 Executable string representation of this Interval.
@@ -305,9 +305,18 @@ def __repr__(self):
305305 s_begin = repr (self .begin )
306306 s_end = repr (self .end )
307307 if self .data is None :
308- return "Interval({0}, {1})" .format (s_begin , s_end )
308+ return "{0}({1}, {2})" .format (
309+ self .__class__ .__name__ ,
310+ s_begin ,
311+ s_end ,
312+ )
309313 else :
310- return "Interval({0}, {1}, {2})" .format (s_begin , s_end , repr (self .data ))
314+ return "{0}({1}, {2}, {3})" .format (
315+ self .__class__ .__name__ ,
316+ s_begin ,
317+ s_end ,
318+ repr (self .data ),
319+ )
311320
312321 __str__ = __repr__
313322
@@ -317,12 +326,12 @@ def copy(self):
317326 :return: copy of self
318327 :rtype: Interval
319328 """
320- return Interval (self .begin , self .end , self .data )
321-
329+ return self . __class__ (self .begin , self .end , self .data )
330+
322331 def __reduce__ (self ):
323332 """
324333 For pickle-ing.
325334 :return: pickle data
326335 :rtype: tuple
327336 """
328- return Interval , self ._get_fields ()
337+ return self . __class__ , self ._get_fields ()
0 commit comments