Buckets:
| import json, os, fitz | |
| os.makedirs('/work/exhibit_pages', exist_ok=True) | |
| pilot = [json.loads(l) for l in open('/work/pilot_questions.jsonl')] | |
| pages_needed = set() | |
| for p in pilot: | |
| if p['has_exhibit']: | |
| pages_needed.add(p['page']) | |
| if p['page'] - 1 > 0: | |
| pages_needed.add(p['page'] - 1) | |
| # step 3: render page 144 too if any pilot question is Exam C Q61 area | |
| if any(p['exam'] == 'C' and 58 <= p['qnum'] <= 64 for p in pilot): | |
| pages_needed.add(144) | |
| print('pages to render:', sorted(pages_needed)) | |
| doc = fitz.open('/work/source.pdf') if os.path.exists('/work/source.pdf') else None | |
| if doc is None: | |
| raise SystemExit('source PDF not found') | |
| for n in sorted(pages_needed): | |
| if n < 1 or n > doc.page_count: | |
| print('skip out-of-range page', n) | |
| continue | |
| pix = doc[n - 1].get_pixmap(dpi=200) | |
| out = '/work/exhibit_pages/page_%d.png' % n | |
| pix.save(out) | |
| print('rendered', out, pix.width, 'x', pix.height) | |
| doc.close() | |
Xet Storage Details
- Size:
- 976 Bytes
- Xet hash:
- f90bc5280491c4671b1fe81991a48598a40036760edc578aef6bbd44e2ea08af
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.