+ def emit(self) -> None:
+ self._spec.log('Counting chunks...\r')
+ num_chunks = ilen(self.chunkDOMs())
+ title = self.title() or "chunk"
+ for i, r in enumerate(self.chunkDOMs()):
+ percent = 100.0 * (i + 1) / num_chunks
+ self._spec.log(
+ f'Processing {title} {i+1} of {num_chunks} ({percent:.1f}%)\r')
+ self._spec.domfilter(r)
+ chunk = makeChunk(r, self._spec.images)
+ self._spec.texout.write(
+ self._spec.texfilter(renderChunk(self._spec.texifier, chunk)))
+ self._spec.log('')
+ next_url = self.next_thread()
+ if next_url is not None:
+ Thread(dataclasses.replace(self._spec, url=next_url)).emit()
+