home · contact · privacy
Use PageRange.end == None for open end rather than confusing -1. master
authorPlom Heller <plom@plomlompom.com>
Mon, 2 Nov 2026 20:34:02 +0000 (21:34 +0100)
committerPlom Heller <plom@plomlompom.com>
Mon, 2 Nov 2026 20:34:02 +0000 (21:34 +0100)
src/bookmaker/misc.py

index a291bf76d78caeb908a09f5c3c6bce06693613eb..072d0a814c2f57ee6e04a60f2d08acec584aa32a 100755 (executable)
@@ -48,7 +48,7 @@ _TOK_RANGE_END = 'end'
 class PageRange:
     'Section of multi-page document.'
     start = 0
-    end = -1
+    end: Optional[int] = None
 
     def __init__(
             self,
@@ -90,16 +90,16 @@ class PageRange:
             end_max: int
             ) -> None:
         'Define outer limit for page end.'
-        if self.end > end_max:
-            self._fail(f'exceeds maximum {end_max}')
-        elif self.end < 0:
+        if self.end is None:
             self.end = end_max
+        elif self.end > end_max:
+            self._fail(f'exceeds maximum {end_max}')
 
     def ranging(
             self
             ) -> range:
         'Turn into range().'
-        assert self.end >= 0
+        assert self.end is not None
         return range(self.start, self.end)