Return source -> (extractor, meta) for all parsed manpages.
(self)
| 288 | return {row["source_gz_sha256"]: row["source"] for row in rows} |
| 289 | |
| 290 | def extractor_info_index(self) -> dict[str, tuple[str, ExtractionMeta]]: |
| 291 | """Return source -> (extractor, meta) for all parsed manpages.""" |
| 292 | rows = self._conn.execute( |
| 293 | "SELECT source, extractor, extraction_meta FROM parsed_manpages" |
| 294 | ).fetchall() |
| 295 | result: dict[str, tuple[str, ExtractionMeta]] = {} |
| 296 | for row in rows: |
| 297 | meta_dict = json.loads(row["extraction_meta"] or "{}") |
| 298 | result[row["source"]] = ( |
| 299 | row["extractor"] or "", |
| 300 | ExtractionMeta.model_validate(meta_dict), |
| 301 | ) |
| 302 | return result |
| 303 | |
| 304 | def counts(self) -> dict[str, int]: |
| 305 | """Return row counts for core tables.""" |