Returns `document` downcast to a mupdf.PdfDocument. If downcast fails (i.e. `document` is not actually a `PdfDocument`) then we assert-fail if `required` is true (the default) else return a `mupdf.PdfDocument` with `.m_internal` false.
(document, required=True)
| 502 | assert 0, f'Unrecognised {type(document)=}' |
| 503 | |
| 504 | def _as_pdf_document(document, required=True): |
| 505 | ''' |
| 506 | Returns `document` downcast to a mupdf.PdfDocument. If downcast fails (i.e. |
| 507 | `document` is not actually a `PdfDocument`) then we assert-fail if `required` |
| 508 | is true (the default) else return a `mupdf.PdfDocument` with `.m_internal` |
| 509 | false. |
| 510 | ''' |
| 511 | if isinstance(document, Document): |
| 512 | if document.is_closed: |
| 513 | raise ValueError('document closed') |
| 514 | document = document.this |
| 515 | if isinstance(document, mupdf.PdfDocument): |
| 516 | return document |
| 517 | elif isinstance(document, mupdf.FzDocument): |
| 518 | ret = mupdf.PdfDocument(document) |
| 519 | if required: |
| 520 | assert ret.m_internal |
| 521 | return ret |
| 522 | elif document is None: |
| 523 | assert 0, f'document is None' |
| 524 | else: |
| 525 | assert 0, f'Unrecognised {type(document)=}' |
| 526 | |
| 527 | def _as_fz_page(page): |
| 528 | ''' |
no outgoing calls
no test coverage detected
searching dependent graphs…