MCPcopy Create free account
hub / github.com/VectifyAI/PageIndex / _parse_pages

Function _parse_pages

pageindex/retrieve.py:12–24  ·  view source on GitHub ↗

Parse a pages string like '5-7', '3,8', or '12' into a sorted list of ints.

(pages: str)

Source from the content-addressed store, hash-verified

10# ── Helpers ──────────────────────────────────────────────────────────────────
11
12def _parse_pages(pages: str) -> list[int]:
13 """Parse a pages string like '5-7', '3,8', or '12' into a sorted list of ints."""
14 result = []
15 for part in pages.split(','):
16 part = part.strip()
17 if '-' in part:
18 start, end = int(part.split('-', 1)[0].strip()), int(part.split('-', 1)[1].strip())
19 if start > end:
20 raise ValueError(f"Invalid range '{part}': start must be <= end")
21 result.extend(range(start, end + 1))
22 else:
23 result.append(int(part))
24 return sorted(set(result))
25
26
27def _count_pages(doc_info: dict) -> int:

Callers 1

get_page_contentFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected