(value: Any, max_page: int)
| 124 | |
| 125 | |
| 126 | def valid_pages(value: Any, max_page: int) -> bool: |
| 127 | if max_page <= 0: |
| 128 | return False |
| 129 | if isinstance(value, dict): |
| 130 | try: |
| 131 | start = int(value.get("start", 0) or value.get("page_start", 0) or 0) |
| 132 | end = int(value.get("end", 0) or value.get("page_end", 0) or start or 0) |
| 133 | except (TypeError, ValueError): |
| 134 | return False |
| 135 | return 1 <= start <= end <= max_page |
| 136 | if isinstance(value, int): |
| 137 | return 1 <= value <= max_page |
| 138 | if isinstance(value, list) and value: |
| 139 | try: |
| 140 | pages = [int(page) for page in value] |
| 141 | except (TypeError, ValueError): |
| 142 | return False |
| 143 | return all(1 <= page <= max_page for page in pages) |
| 144 | return False |
| 145 | |
| 146 | |
| 147 | def evidence_sources(item: dict[str, Any]) -> list[Any]: |
no outgoing calls
no test coverage detected