mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-09 02:54:16 +02:00
[feature][ui] it is possible to view details of some initialization tasks by clicking on their icons
This commit is contained in:
@@ -500,8 +500,7 @@ def get_current_mirror_countries() -> List[str]:
|
||||
|
||||
|
||||
def is_mirrors_available() -> bool:
|
||||
res = run_cmd('which pacman-mirrors', print_error=False)
|
||||
return res and not res.strip().startswith('which ')
|
||||
return bool(run_cmd('which pacman-mirrors', print_error=False))
|
||||
|
||||
|
||||
def get_update_size(pkgs: List[str]) -> Dict[str, int]: # bytes:
|
||||
|
||||
@@ -168,7 +168,7 @@ arch.task.disk_cache.prepared=Llegits
|
||||
arch.task.disk_cache.reading=Determinant els paquets instal·lats
|
||||
arch.task.mirrors=Refreshing mirrors
|
||||
arch.task.optimizing=Optimizing {}
|
||||
arch.task.sync_databases.waiting=Waiting for mirrors refreshing
|
||||
arch.task.sync_databases.waiting=Waiting for {}
|
||||
arch.task.sync_sb.status=Actualitzen {}
|
||||
arch.uncompressing.package=S’està descomprimint el paquet
|
||||
arch.uninstall.clean_cached.error=No s'ha pogut eliminar {} versions antigues que es troba al disc
|
||||
|
||||
@@ -168,7 +168,7 @@ arch.task.disk_cache.prepared=Read
|
||||
arch.task.disk_cache.reading=Determining installed packages
|
||||
arch.task.mirrors=Refreshing mirrors
|
||||
arch.task.optimizing=Optimizing {}
|
||||
arch.task.sync_databases.waiting=Waiting for mirrors refreshing
|
||||
arch.task.sync_databases.waiting=Waiting for {}
|
||||
arch.task.sync_sb.status=Updating {}
|
||||
arch.uncompressing.package=Paket entpacken
|
||||
arch.uninstall.clean_cached.error=It was not possible to remove old {} versions found on disk
|
||||
|
||||
@@ -168,7 +168,7 @@ arch.task.disk_cache.prepared=Read
|
||||
arch.task.disk_cache.reading=Determining installed packages
|
||||
arch.task.mirrors=Refreshing mirrors
|
||||
arch.task.optimizing=Optimizing {}
|
||||
arch.task.sync_databases.waiting=Waiting for mirrors refreshing
|
||||
arch.task.sync_databases.waiting=Waiting for {}
|
||||
arch.task.sync_sb.status=Updating {}
|
||||
arch.uncompressing.package=Uncompressing the package
|
||||
arch.uninstall.clean_cached.error=It was not possible to remove old {} versions found on disk
|
||||
|
||||
@@ -168,7 +168,7 @@ arch.task.disk_cache.prepared=Lidos
|
||||
arch.task.disk_cache.reading=Determinando los paquetes instalados
|
||||
arch.task.mirrors=Actualizando espejos
|
||||
arch.task.optimizing=Optimizando {}
|
||||
arch.task.sync_databases.waiting=Esperando por actualización de espejos
|
||||
arch.task.sync_databases.waiting=Esperando por {}
|
||||
arch.task.sync_sb.status=Actualizando {}
|
||||
arch.uncompressing.package=Descomprimindo el paquete
|
||||
arch.uninstall.clean_cached.error=No fue posible eliminar versiones antiguas de {} encontradas en disco
|
||||
|
||||
@@ -168,7 +168,7 @@ arch.task.disk_cache.prepared=Letti
|
||||
arch.task.disk_cache.reading=Determinando i pacchetti installati
|
||||
arch.task.mirrors=Aggiornando i mirror
|
||||
arch.task.optimizing=Ottimizzando {}
|
||||
arch.task.sync_databases.waiting=In attesa dell'aggiornamento dei mirror
|
||||
arch.task.sync_databases.waiting=Waiting for {}
|
||||
arch.task.sync_sb.status=Aggiornando {}
|
||||
arch.uncompressing.package=Non comprimere il pacchetto
|
||||
arch.uninstall.clean_cached.error=Non è stato possibile rimuovere le vecchie {} versioni trovate sul disco
|
||||
|
||||
@@ -168,7 +168,7 @@ arch.task.disk_cache.prepared=Lidos
|
||||
arch.task.disk_cache.reading=Determinando pacotes instalados
|
||||
arch.task.mirrors=Atualizando espelhos
|
||||
arch.task.optimizing=Otimizando {}
|
||||
arch.task.sync_databases.waiting=Aguardando atualização de espelhos
|
||||
arch.task.sync_databases.waiting=Aguardando por {}
|
||||
arch.task.sync_sb.status=Atualizando {}
|
||||
arch.uncompressing.package=Descompactando o pacote
|
||||
arch.uninstall.clean_cached.error=Não foi possível remover versões antigas de {} encontradas em disco
|
||||
|
||||
@@ -168,7 +168,7 @@ arch.task.disk_cache.prepared=Read
|
||||
arch.task.disk_cache.reading=Determining installed packages
|
||||
arch.task.mirrors=Обновление зеркал
|
||||
arch.task.optimizing=Optimizing {}
|
||||
arch.task.sync_databases.waiting=Ожидание обновления зеркал
|
||||
arch.task.sync_databases.waiting=Waiting for {}
|
||||
arch.task.sync_sb.status=Updating {}
|
||||
arch.uncompressing.package=Распаковка пакета
|
||||
arch.uninstall.clean_cached.error=It was not possible to remove old {} versions found on disk
|
||||
|
||||
@@ -168,7 +168,7 @@ arch.task.disk_cache.prepared=oku
|
||||
arch.task.disk_cache.reading=Kurulu paketler belirleniyor
|
||||
arch.task.mirrors=Yansılar yenileniyor
|
||||
arch.task.optimizing=Uygun hale getiriliyor {}
|
||||
arch.task.sync_databases.waiting=Yansıların yenilenmesi bekleniyor
|
||||
arch.task.sync_databases.waiting=Waiting for {}
|
||||
arch.task.sync_sb.status={} güncelleniyor
|
||||
arch.uncompressing.package=Paket arşivden çıkarılıyor
|
||||
arch.uninstall.clean_cached.error=Diskte bulunan eski {} sürümleri kaldırılamadı
|
||||
|
||||
@@ -292,21 +292,24 @@ class RefreshMirrors(Thread):
|
||||
self.task_id = "arch_mirrors"
|
||||
self.sort_limit = sort_limit
|
||||
|
||||
def _notify_output(self, output: str):
|
||||
self.taskman.update_output(self.task_id, output)
|
||||
|
||||
def run(self):
|
||||
self.logger.info("Refreshing mirrors")
|
||||
self.taskman.register_task(self.task_id, self.i18n['arch.task.mirrors'], get_icon_path())
|
||||
self.logger.info("Refreshing mirrors")
|
||||
|
||||
handler = ProcessHandler()
|
||||
try:
|
||||
self.taskman.update_progress(self.task_id, 10, '')
|
||||
success, output = handler.handle_simple(pacman.refresh_mirrors(self.root_password))
|
||||
success, output = handler.handle_simple(pacman.refresh_mirrors(self.root_password), output_handler=self._notify_output)
|
||||
|
||||
if success:
|
||||
|
||||
if self.sort_limit is not None and self.sort_limit >= 0:
|
||||
self.taskman.update_progress(self.task_id, 50, self.i18n['arch.custom_action.refresh_mirrors.status.updating'])
|
||||
try:
|
||||
handler.handle_simple(pacman.sort_fastest_mirrors(self.root_password, self.sort_limit))
|
||||
handler.handle_simple(pacman.sort_fastest_mirrors(self.root_password, self.sort_limit), output_handler=self._notify_output)
|
||||
except:
|
||||
self.logger.error("Could not sort mirrors by speed")
|
||||
traceback.print_exc()
|
||||
@@ -340,7 +343,7 @@ class SyncDatabases(Thread):
|
||||
self.taskman.register_task(self.task_id, self.i18n['arch.sync_databases.substatus'], get_icon_path())
|
||||
|
||||
if self.refresh_mirrors and self.refresh_mirrors.is_alive():
|
||||
self.taskman.update_progress(self.task_id, 0, self.i18n['arch.task.sync_databases.waiting'])
|
||||
self.taskman.update_progress(self.task_id, 0, self.i18n['arch.task.sync_databases.waiting'].format('"{}"'.format(self.i18n['arch.task.mirrors'])))
|
||||
self.refresh_mirrors.join()
|
||||
|
||||
progress = 10
|
||||
@@ -357,20 +360,25 @@ class SyncDatabases(Thread):
|
||||
for o in p.stdout:
|
||||
line = o.decode().strip()
|
||||
|
||||
if line and line.startswith('downloading'):
|
||||
db = line.split(' ')[1].strip()
|
||||
if line:
|
||||
self.task_man.update_output(self.task_id, line)
|
||||
if line.startswith('downloading'):
|
||||
db = line.split(' ')[1].strip()
|
||||
|
||||
if last_db is None or last_db != db:
|
||||
last_db = db
|
||||
dbs_read += 1
|
||||
progress = dbs_read * inc
|
||||
else:
|
||||
progress += 0.25
|
||||
if last_db is None or last_db != db:
|
||||
last_db = db
|
||||
dbs_read += 1
|
||||
progress = dbs_read * inc
|
||||
else:
|
||||
progress += 0.25
|
||||
|
||||
self.taskman.update_progress(self.task_id, progress, self.i18n['arch.task.sync_sb.status'].format(db))
|
||||
self.taskman.update_progress(self.task_id, progress, self.i18n['arch.task.sync_sb.status'].format(db))
|
||||
|
||||
for o in p.stderr:
|
||||
o.decode()
|
||||
line = o.decode().strip()
|
||||
|
||||
if line:
|
||||
self.task_man.update_output(self.task_id, line)
|
||||
|
||||
p.wait()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user