def handle_message(self, msg: Dict):
if msg['type'] in ['clone', 'restore']:
self.last_message = msg
self.progress_bar.set_fraction(msg['complete'])
if not self.start:
self.start = msg['start'].replace(tzinfo=msg['start'].tzinfo or timezone.utc)
self.update()
if msg.get('finish'):
self.finish()
else:
self.rate.value_label.set_text(msg.get('rate') or 'Initializing')
if not self.syncing and self.last_message.get('syncing'):
self.syncing = Gtk.Box()
label = Gtk.Label("Syncing")
label.get_style_context().add_class('info-key')
label.get_style_context().add_class('dim-label')
self.syncing.add(label)
self.syncing.add(Gtk.Spinner(active=True))
self.syncing.show_all()
self.stats.add(self.syncing)
self.estimated_completion.hide()
if not msg.get('rate'):
self.rate.hide()
elif msg['type'] in ['clone-failed', 'restore-failed']:
self.fail_message = msg
self.finish()
评论列表
文章目录