def _finished(self, asset): statuses = [fut.running() for fut in self._queue.values()] self.engine.signal( events.AssetLoaded( asset=asset, total_loaded=sum(not s for s in statuses), total_queued=sum(s for s in statuses), ))
def on_idle(self, event, signal): while self._event_queue: asset = self._event_queue.popleft() signal( events.AssetLoaded( asset=asset, total_loaded=self._ended, total_queued=self._began - self._ended, ))
def _finish(self, fut): asset = fut.__asset() if asset is not None: self._finished += 1 self._event_queue.put(events.AssetLoaded( asset=asset, total_loaded=self._finished, total_queued=self._started - self._finished, ))