Source code for upsies.uis.tui.jobwidgets.imagehost

import functools

from .. import widgets
from . import JobWidgetBase

import logging  # isort:skip
_log = logging.getLogger(__name__)


[docs] class ImagehostJobWidget(JobWidgetBase): is_interactive = False
[docs] def setup(self): self._upload_progress = widgets.ProgressBar() self.job.signal.register('output', self.handle_image_url) self.job.signal.register('error', lambda _: self.invalidate()) self.job.signal.register('finished', lambda _: self.invalidate())
def handle_image_url(self, url): if self.job.images_total > 0: self._upload_progress.percent = self.job.images_uploaded / self.job.images_total * 100 self.invalidate() @functools.cached_property def runtime_widget(self): return self._upload_progress