[arch] fix: not displaying any substatus when retrieving packages (pacman)

This commit is contained in:
Vinicius Moreira
2022-01-31 16:17:27 -03:00
parent b130ad6d0b
commit 6eda2948de
12 changed files with 16 additions and 5 deletions

View File

@@ -24,6 +24,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- not upgrading a package when a dependent package relies on a specific version with epoch (e.g: alsa-plugins 1:1.2.6-1 would not be upgraded to 1:1.2.6-2 because lib32-alsa-plugins relies on 1:1.2.6) - not upgrading a package when a dependent package relies on a specific version with epoch (e.g: alsa-plugins 1:1.2.6-1 would not be upgraded to 1:1.2.6-2 because lib32-alsa-plugins relies on 1:1.2.6)
- not informing all the provided packages on the transaction context to the dependency sorting algorithm (could lead to a wrong installation order) - not informing all the provided packages on the transaction context to the dependency sorting algorithm (could lead to a wrong installation order)
- not displaying all possible AUR providers for a given dependency - not displaying all possible AUR providers for a given dependency
- not displaying any substatus when retrieving packages (pacman)
- UI: - UI:
- settings panel: confirmation dialog icon when launched alone - settings panel: confirmation dialog icon when launched alone

View File

@@ -31,7 +31,8 @@ class TransactionStatusHandler(Thread):
'loading package files': 'loading_files', 'loading package files': 'loading_files',
'checking for file conflicts': 'conflicts', 'checking for file conflicts': 'conflicts',
'checking available disk space': 'disk_space', 'checking available disk space': 'disk_space',
':: Running pre-transaction hooks': 'pre_hooks'} ':: running pre-transaction hooks': 'pre_hooks',
':: retrieving packages': 'retrieve_pkgs'}
def gen_percentage(self) -> str: def gen_percentage(self) -> str:
if self.percentage: if self.percentage:
@@ -56,13 +57,13 @@ class TransactionStatusHandler(Thread):
else: else:
self.watcher.change_substatus('{} {}'.format(self.i18n['uninstalling'].capitalize(), output_split[1].strip())) self.watcher.change_substatus('{} {}'.format(self.i18n['uninstalling'].capitalize(), output_split[1].strip()))
elif output_split[0].lower() == 'downloading' and (not self.names or (n for n in self.names if n in output_split[1])): elif output_split[1].lower().startswith('downloading') and (not self.names or (n for n in self.names if output_split[0].startswith(n))):
if self.downloading < self.pkgs_to_sync: if self.downloading < self.pkgs_to_sync:
perc = self.gen_percentage() perc = self.gen_percentage()
self.downloading += 1 self.downloading += 1
self.watcher.change_substatus('{}[{}/{}] {} {} {}'.format(perc, self.downloading, self.pkgs_to_sync, bold('[pacman]'), self.watcher.change_substatus('{}[{}/{}] {} {} {}'.format(perc, self.downloading, self.pkgs_to_sync, bold('[pacman]'),
self.i18n['downloading'].capitalize(), output_split[1].strip())) self.i18n['downloading'].capitalize(), output_split[0].strip()))
elif output_split[0].lower() == 'upgrading' and (not self.names or output_split[1].split('.')[0] in self.names): elif output_split[0].lower() == 'upgrading' and (not self.names or output_split[1].split('.')[0] in self.names):
if self.get_performed() < self.pkgs_to_sync: if self.get_performed() < self.pkgs_to_sync:
perc = self.gen_percentage() perc = self.gen_percentage()
@@ -86,7 +87,7 @@ class TransactionStatusHandler(Thread):
output_split[1].strip())) output_split[1].strip()))
else: else:
substatus_found = False substatus_found = False
lower_output = output.lower() lower_output = output.lower().strip()
for msg, key in self.accepted.items(): for msg, key in self.accepted.items():
if lower_output.startswith(msg): if lower_output.startswith(msg):
self.watcher.change_substatus(self.i18n['arch.substatus.{}'.format(key)].capitalize()) self.watcher.change_substatus(self.i18n['arch.substatus.{}'.format(key)].capitalize())

View File

@@ -733,7 +733,7 @@ def upgrade_several(pkgnames: Iterable[str], root_password: str, overwrite_confl
def download(root_password: str, *pkgnames: str) -> SimpleProcess: def download(root_password: str, *pkgnames: str) -> SimpleProcess:
return SimpleProcess(cmd=['pacman', '-Swdd', *pkgnames, '--noconfirm'], return SimpleProcess(cmd=['pacman', '-Swdd', *pkgnames, '--noconfirm', '--noprogressbar'],
root_password=root_password, root_password=root_password,
error_phrases={'error: failed to prepare transaction', 'error: failed to commit transaction', 'error: target not found'}, error_phrases={'error: failed to prepare transaction', 'error: failed to commit transaction', 'error: target not found'},
shell=True) shell=True)

View File

@@ -227,6 +227,7 @@ arch.substatus.integrity=Checking packages integrity
arch.substatus.keyring=Checking keyring arch.substatus.keyring=Checking keyring
arch.substatus.loading_files=Loading package files arch.substatus.loading_files=Loading package files
arch.substatus.pre_hooks=Running pre-transaction hooks arch.substatus.pre_hooks=Running pre-transaction hooks
arch.substatus.retrieve_pkgs=Retrieving packages
arch.sync.dep_breakage.reason={} requires {} arch.sync.dep_breakage.reason={} requires {}
arch.sync_databases.substatus=Synchronizing package databases arch.sync_databases.substatus=Synchronizing package databases
arch.sync_databases.substatus.error=It was not possible to synchronize the package database arch.sync_databases.substatus.error=It was not possible to synchronize the package database

View File

@@ -227,6 +227,7 @@ arch.substatus.integrity=Checking packages integrity
arch.substatus.keyring=Checking keyring arch.substatus.keyring=Checking keyring
arch.substatus.loading_files=Loading package files arch.substatus.loading_files=Loading package files
arch.substatus.pre_hooks=Running pre-transaction hooks arch.substatus.pre_hooks=Running pre-transaction hooks
arch.substatus.retrieve_pkgs=Retrieving packages
arch.sync.dep_breakage.reason={} requires {} arch.sync.dep_breakage.reason={} requires {}
arch.sync_databases.substatus=Synchronizing package databases arch.sync_databases.substatus=Synchronizing package databases
arch.sync_databases.substatus.error=It was not possible to synchronize the package database arch.sync_databases.substatus.error=It was not possible to synchronize the package database

View File

@@ -227,6 +227,7 @@ arch.substatus.integrity=Checking packages integrity
arch.substatus.keyring=Checking keyring arch.substatus.keyring=Checking keyring
arch.substatus.loading_files=Loading package files arch.substatus.loading_files=Loading package files
arch.substatus.pre_hooks=Running pre-transaction hooks arch.substatus.pre_hooks=Running pre-transaction hooks
arch.substatus.retrieve_pkgs=Retrieving packages
arch.sync.dep_breakage.reason={} requires {} arch.sync.dep_breakage.reason={} requires {}
arch.sync_databases.substatus=Synchronizing package databases arch.sync_databases.substatus=Synchronizing package databases
arch.sync_databases.substatus.error=It was not possible to synchronize the package database arch.sync_databases.substatus.error=It was not possible to synchronize the package database

View File

@@ -227,6 +227,7 @@ arch.substatus.integrity=Verificando la integridad de los paquetes
arch.substatus.keyring=Verificando keyring arch.substatus.keyring=Verificando keyring
arch.substatus.loading_files=Cargando archivos de los paquetes arch.substatus.loading_files=Cargando archivos de los paquetes
arch.substatus.pre_hooks=Ejecutando ganchos pre-transacción arch.substatus.pre_hooks=Ejecutando ganchos pre-transacción
arch.substatus.retrieve_pkgs=Obteniendo paquetes
arch.sync.dep_breakage.reason={} necesita de {} arch.sync.dep_breakage.reason={} necesita de {}
arch.sync_databases.substatus=Sincronizando bases de paquetes arch.sync_databases.substatus=Sincronizando bases de paquetes
arch.sync_databases.substatus.error=No fue posible sincronizar la base de paquetes arch.sync_databases.substatus.error=No fue posible sincronizar la base de paquetes

View File

@@ -227,6 +227,7 @@ arch.substatus.integrity=Recherche de paquets corrompus
arch.substatus.keyring=Verification du trousseau de clés arch.substatus.keyring=Verification du trousseau de clés
arch.substatus.loading_files=Chargement des fichers du paquet arch.substatus.loading_files=Chargement des fichers du paquet
arch.substatus.pre_hooks=Éxécution des pre-transaction hooks arch.substatus.pre_hooks=Éxécution des pre-transaction hooks
arch.substatus.retrieve_pkgs=Retrieving packages
arch.sync.dep_breakage.reason={} requiert {} arch.sync.dep_breakage.reason={} requiert {}
arch.sync_databases.substatus=Synchronisation des bases de données du paquet arch.sync_databases.substatus=Synchronisation des bases de données du paquet
arch.sync_databases.substatus.error=Impossible de synchroniser les bases de données du paquet arch.sync_databases.substatus.error=Impossible de synchroniser les bases de données du paquet

View File

@@ -227,6 +227,7 @@ arch.substatus.integrity=Checking packages integrity
arch.substatus.keyring=Checking keyring arch.substatus.keyring=Checking keyring
arch.substatus.loading_files=Loading package files arch.substatus.loading_files=Loading package files
arch.substatus.pre_hooks=Running pre-transaction hooks arch.substatus.pre_hooks=Running pre-transaction hooks
arch.substatus.retrieve_pkgs=Retrieving packages
arch.sync.dep_breakage.reason={} requires {} arch.sync.dep_breakage.reason={} requires {}
arch.sync_databases.substatus=Synchronizing package databases arch.sync_databases.substatus=Synchronizing package databases
arch.sync_databases.substatus.error=It was not possible to synchronize the package database arch.sync_databases.substatus.error=It was not possible to synchronize the package database

View File

@@ -226,6 +226,7 @@ arch.substatus.integrity=Verificando a integridade dos pacotes
arch.substatus.keyring=Verificando o keyring arch.substatus.keyring=Verificando o keyring
arch.substatus.loading_files=Carregando os arquivos dos pacotes arch.substatus.loading_files=Carregando os arquivos dos pacotes
arch.substatus.pre_hooks=Executando ganchos pré-transação arch.substatus.pre_hooks=Executando ganchos pré-transação
arch.substatus.retrieve_pkgs=Obtendo pacotes
arch.sync.dep_breakage.reason={} precisa de {} arch.sync.dep_breakage.reason={} precisa de {}
arch.sync_databases.substatus=Sincronizando bases de pacotes arch.sync_databases.substatus=Sincronizando bases de pacotes
arch.sync_databases.substatus.error=Não foi possível sincronizar as bases de pacotes arch.sync_databases.substatus.error=Não foi possível sincronizar as bases de pacotes

View File

@@ -227,6 +227,7 @@ arch.substatus.integrity=Checking packages integrity
arch.substatus.keyring=Checking keyring arch.substatus.keyring=Checking keyring
arch.substatus.loading_files=Loading package files arch.substatus.loading_files=Loading package files
arch.substatus.pre_hooks=Running pre-transaction hooks arch.substatus.pre_hooks=Running pre-transaction hooks
arch.substatus.retrieve_pkgs=Retrieving packages
arch.sync.dep_breakage.reason={} requires {} arch.sync.dep_breakage.reason={} requires {}
arch.sync_databases.substatus=Синхронизация баз данных пакетов arch.sync_databases.substatus=Синхронизация баз данных пакетов
arch.sync_databases.substatus.error=Синхронизировать базу данных пакета не удалось arch.sync_databases.substatus.error=Синхронизировать базу данных пакета не удалось

View File

@@ -227,6 +227,7 @@ arch.substatus.integrity=Checking packages integrity
arch.substatus.keyring=Checking keyring arch.substatus.keyring=Checking keyring
arch.substatus.loading_files=Loading package files arch.substatus.loading_files=Loading package files
arch.substatus.pre_hooks=Running pre-transaction hooks arch.substatus.pre_hooks=Running pre-transaction hooks
arch.substatus.retrieve_pkgs=Retrieving packages
arch.sync.dep_breakage.reason={} requires {} arch.sync.dep_breakage.reason={} requires {}
arch.sync_databases.substatus=Paket veritabanı eşitleniyor arch.sync_databases.substatus=Paket veritabanı eşitleniyor
arch.sync_databases.substatus.error=Paket veritabanı eşitlenemedi arch.sync_databases.substatus.error=Paket veritabanı eşitlenemedi