mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-07 02:24:16 +02:00
[arch] fix -> crashing when information of a given package is not available
This commit is contained in:
@@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.
|
|||||||
|
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||||
|
|
||||||
|
## [0.9.12] 2021
|
||||||
|
### Fixes
|
||||||
|
- Arch
|
||||||
|
- crashing when information of a given package is not available
|
||||||
|
|
||||||
|
- UI
|
||||||
|
- displaying a popup when information of a given package is not available
|
||||||
|
|
||||||
## [0.9.11] 2020-12-30
|
## [0.9.11] 2020-12-30
|
||||||
### New system requirements
|
### New system requirements
|
||||||
- **python-dateutil**: better Python library for date handling (install the equivalent package for your Linux distribution before upgrading bauh)
|
- **python-dateutil**: better Python library for date handling (install the equivalent package for your Linux distribution before upgrading bauh)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
__version__ = '0.9.11'
|
__version__ = '0.9.12'
|
||||||
__app_name__ = 'bauh'
|
__app_name__ = 'bauh'
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|||||||
@@ -1417,21 +1417,23 @@ class ArchManager(SoftwareManager):
|
|||||||
t.start()
|
t.start()
|
||||||
|
|
||||||
info = pacman.get_info_dict(pkg.name)
|
info = pacman.get_info_dict(pkg.name)
|
||||||
self._parse_dates_string_from_info(pkg.name, info)
|
|
||||||
|
|
||||||
if pkg.commit:
|
if info is not None:
|
||||||
info['commit'] = pkg.commit
|
self._parse_dates_string_from_info(pkg.name, info)
|
||||||
|
|
||||||
if pkg.last_modified:
|
if pkg.commit:
|
||||||
info['last_modified'] = self._parse_timestamp(ts=pkg.last_modified,
|
info['commit'] = pkg.commit
|
||||||
error_msg="Could not parse AUR package '{}' 'last_modified' field ({})".format(pkg.name, pkg.last_modified))
|
|
||||||
|
|
||||||
t.join()
|
if pkg.last_modified:
|
||||||
|
info['last_modified'] = self._parse_timestamp(ts=pkg.last_modified,
|
||||||
|
error_msg="Could not parse AUR package '{}' 'last_modified' field ({})".format(pkg.name, pkg.last_modified))
|
||||||
|
|
||||||
if pkg.pkgbuild:
|
t.join()
|
||||||
info['13_pkg_build'] = pkg.pkgbuild
|
|
||||||
|
|
||||||
info['14_installed_files'] = pacman.list_installed_files(pkg.name)
|
if pkg.pkgbuild:
|
||||||
|
info['13_pkg_build'] = pkg.pkgbuild
|
||||||
|
|
||||||
|
info['14_installed_files'] = pacman.list_installed_files(pkg.name)
|
||||||
|
|
||||||
return info
|
return info
|
||||||
else:
|
else:
|
||||||
@@ -1501,9 +1503,12 @@ class ArchManager(SoftwareManager):
|
|||||||
|
|
||||||
def _get_info_repo_pkg(self, pkg: ArchPackage) -> dict:
|
def _get_info_repo_pkg(self, pkg: ArchPackage) -> dict:
|
||||||
info = pacman.get_info_dict(pkg.name, remote=not pkg.installed)
|
info = pacman.get_info_dict(pkg.name, remote=not pkg.installed)
|
||||||
self._parse_dates_string_from_info(pkg.name, info)
|
|
||||||
if pkg.installed:
|
if info is not None:
|
||||||
info['installed files'] = pacman.list_installed_files(pkg.name)
|
self._parse_dates_string_from_info(pkg.name, info)
|
||||||
|
|
||||||
|
if pkg.installed:
|
||||||
|
info['installed files'] = pacman.list_installed_files(pkg.name)
|
||||||
|
|
||||||
return info
|
return info
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ def get_info_list(pkg_name: str, remote: bool = False) -> List[tuple]:
|
|||||||
return re.findall(r'(\w+\s?\w+)\s*:\s*(.+(\n\s+.+)*)', info)
|
return re.findall(r'(\w+\s?\w+)\s*:\s*(.+(\n\s+.+)*)', info)
|
||||||
|
|
||||||
|
|
||||||
def get_info_dict(pkg_name: str, remote: bool = False) -> dict:
|
def get_info_dict(pkg_name: str, remote: bool = False) -> Optional[dict]:
|
||||||
list_attrs = {'depends on', 'required by', 'conflicts with'}
|
list_attrs = {'depends on', 'required by', 'conflicts with'}
|
||||||
info_list = get_info_list(pkg_name, remote)
|
info_list = get_info_list(pkg_name, remote)
|
||||||
|
|
||||||
|
|||||||
@@ -644,7 +644,12 @@ class ShowPackageInfo(AsyncAction):
|
|||||||
def run(self):
|
def run(self):
|
||||||
if self.pkg:
|
if self.pkg:
|
||||||
info = {'__app__': self.pkg}
|
info = {'__app__': self.pkg}
|
||||||
info.update(self.manager.get_info(self.pkg.model))
|
|
||||||
|
pkg_info = self.manager.get_info(self.pkg.model)
|
||||||
|
|
||||||
|
if pkg_info:
|
||||||
|
info.update(pkg_info)
|
||||||
|
|
||||||
self.notify_finished(info)
|
self.notify_finished(info)
|
||||||
self.pkg = None
|
self.pkg = None
|
||||||
|
|
||||||
|
|||||||
@@ -1216,9 +1216,16 @@ class ManageWindow(QWidget):
|
|||||||
|
|
||||||
def _finish_show_info(self, pkg_info: dict):
|
def _finish_show_info(self, pkg_info: dict):
|
||||||
self._finish_action(action_id=ACTION_INFO)
|
self._finish_action(action_id=ACTION_INFO)
|
||||||
dialog_info = InfoDialog(pkg_info=pkg_info, icon_cache=self.icon_cache,
|
|
||||||
i18n=self.i18n, screen_size=self.screen_size)
|
if pkg_info:
|
||||||
dialog_info.exec_()
|
if len(pkg_info) > 1:
|
||||||
|
dialog_info = InfoDialog(pkg_info=pkg_info, icon_cache=self.icon_cache,
|
||||||
|
i18n=self.i18n, screen_size=self.screen_size)
|
||||||
|
dialog_info.exec_()
|
||||||
|
else:
|
||||||
|
dialog.show_message(title=self.i18n['warning'].capitalize(),
|
||||||
|
body=self.i18n['manage_window.info.no_info'].format(bold(pkg_info['__app__'].model.name)),
|
||||||
|
type_=MessageType.WARNING)
|
||||||
|
|
||||||
def begin_show_screenshots(self, pkg: PackageView):
|
def begin_show_screenshots(self, pkg: PackageView):
|
||||||
self._begin_action(action_label=self.i18n['manage_window.status.screenshots'].format(bold(pkg.model.name)),
|
self._begin_action(action_label=self.i18n['manage_window.status.screenshots'].format(bold(pkg.model.name)),
|
||||||
|
|||||||
@@ -316,6 +316,7 @@ manage_window.checkbox.show_details=Mostra detalls
|
|||||||
manage_window.columns.installed=Installed
|
manage_window.columns.installed=Installed
|
||||||
manage_window.columns.latest_version=Versió més recent
|
manage_window.columns.latest_version=Versió més recent
|
||||||
manage_window.columns.update=Voleu actualitzar?
|
manage_window.columns.update=Voleu actualitzar?
|
||||||
|
manage_window.info.no_info=There is no information available for {}
|
||||||
manage_window.label.apps_displayed.tip=Applications displayed / available
|
manage_window.label.apps_displayed.tip=Applications displayed / available
|
||||||
manage_window.label.updates=Actualitzacions
|
manage_window.label.updates=Actualitzacions
|
||||||
manage_window.name_filter.button_tooltip=Click here to filter apps by name
|
manage_window.name_filter.button_tooltip=Click here to filter apps by name
|
||||||
|
|||||||
@@ -315,6 +315,7 @@ manage_window.checkbox.show_details=Details anzeigen
|
|||||||
manage_window.columns.installed=Installed
|
manage_window.columns.installed=Installed
|
||||||
manage_window.columns.latest_version=Neueste Version
|
manage_window.columns.latest_version=Neueste Version
|
||||||
manage_window.columns.update=Upgraden?
|
manage_window.columns.update=Upgraden?
|
||||||
|
manage_window.info.no_info=There is no information available for {}
|
||||||
manage_window.label.apps_displayed.tip=Applications displayed / available
|
manage_window.label.apps_displayed.tip=Applications displayed / available
|
||||||
manage_window.label.updates=Updates
|
manage_window.label.updates=Updates
|
||||||
manage_window.name_filter.button_tooltip=Click here to filter apps by name
|
manage_window.name_filter.button_tooltip=Click here to filter apps by name
|
||||||
|
|||||||
@@ -316,6 +316,7 @@ manage_window.checkbox.show_details=Show details
|
|||||||
manage_window.columns.installed=Installed
|
manage_window.columns.installed=Installed
|
||||||
manage_window.columns.latest_version=Latest Version
|
manage_window.columns.latest_version=Latest Version
|
||||||
manage_window.columns.update=Upgrade ?
|
manage_window.columns.update=Upgrade ?
|
||||||
|
manage_window.info.no_info=There is no information available for {}
|
||||||
manage_window.label.apps_displayed.tip=Applications displayed / available
|
manage_window.label.apps_displayed.tip=Applications displayed / available
|
||||||
manage_window.label.updates=Updates
|
manage_window.label.updates=Updates
|
||||||
manage_window.name_filter.button_tooltip=Click here to filter apps by name
|
manage_window.name_filter.button_tooltip=Click here to filter apps by name
|
||||||
|
|||||||
@@ -317,6 +317,7 @@ manage_window.checkbox.show_details=Mostrar detalles
|
|||||||
manage_window.columns.installed=Instaladas
|
manage_window.columns.installed=Instaladas
|
||||||
manage_window.columns.latest_version=Versión más reciente
|
manage_window.columns.latest_version=Versión más reciente
|
||||||
manage_window.columns.update=¿Quiere actualizar?
|
manage_window.columns.update=¿Quiere actualizar?
|
||||||
|
manage_window.info.no_info=No hay información disponible para {}
|
||||||
manage_window.label.apps_displayed.tip=Applicaciones mostradas / disponibles
|
manage_window.label.apps_displayed.tip=Applicaciones mostradas / disponibles
|
||||||
manage_window.label.updates=Actualizaciones
|
manage_window.label.updates=Actualizaciones
|
||||||
manage_window.name_filter.button_tooltip=Haga clic aquí para filtrar aplicaciones por nombre
|
manage_window.name_filter.button_tooltip=Haga clic aquí para filtrar aplicaciones por nombre
|
||||||
|
|||||||
@@ -314,6 +314,7 @@ manage_window.checkbox.show_details=Détails
|
|||||||
manage_window.columns.installed=Installé
|
manage_window.columns.installed=Installé
|
||||||
manage_window.columns.latest_version=Dernière Version
|
manage_window.columns.latest_version=Dernière Version
|
||||||
manage_window.columns.update=Mettre à jour ?
|
manage_window.columns.update=Mettre à jour ?
|
||||||
|
manage_window.info.no_info=There is no information available for {}
|
||||||
manage_window.label.updates=Mises à jour
|
manage_window.label.updates=Mises à jour
|
||||||
manage_window.name_filter.placeholder=Filtrer par nom
|
manage_window.name_filter.placeholder=Filtrer par nom
|
||||||
manage_window.name_filter.tooltip=Taper ici pour filtrer les applications par nom
|
manage_window.name_filter.tooltip=Taper ici pour filtrer les applications par nom
|
||||||
|
|||||||
@@ -317,6 +317,7 @@ manage_window.checkbox.show_details=Mostra dettagli
|
|||||||
manage_window.columns.installed=Installed
|
manage_window.columns.installed=Installed
|
||||||
manage_window.columns.latest_version=Ultima Versione
|
manage_window.columns.latest_version=Ultima Versione
|
||||||
manage_window.columns.update=Upgrade ?
|
manage_window.columns.update=Upgrade ?
|
||||||
|
manage_window.info.no_info=There is no information available for {}
|
||||||
manage_window.label.apps_displayed.tip=Applications displayed / available
|
manage_window.label.apps_displayed.tip=Applications displayed / available
|
||||||
manage_window.label.updates=Aggiornamenti
|
manage_window.label.updates=Aggiornamenti
|
||||||
manage_window.name_filter.button_tooltip=Click here to filter apps by name
|
manage_window.name_filter.button_tooltip=Click here to filter apps by name
|
||||||
|
|||||||
@@ -316,6 +316,7 @@ manage_window.checkbox.show_details=Mostrar detalhes
|
|||||||
manage_window.columns.installed=Instalado
|
manage_window.columns.installed=Instalado
|
||||||
manage_window.columns.latest_version=Última Versão
|
manage_window.columns.latest_version=Última Versão
|
||||||
manage_window.columns.update=Atualizar ?
|
manage_window.columns.update=Atualizar ?
|
||||||
|
manage_window.info.no_info=Não há informação disponível para {}
|
||||||
manage_window.label.apps_displayed.tip=Aplicações exibidas / disponíveis
|
manage_window.label.apps_displayed.tip=Aplicações exibidas / disponíveis
|
||||||
manage_window.label.updates=Atualizações
|
manage_window.label.updates=Atualizações
|
||||||
manage_window.name_filter.button_tooltip=Clique aqui para filtrar aplicativos por nome
|
manage_window.name_filter.button_tooltip=Clique aqui para filtrar aplicativos por nome
|
||||||
|
|||||||
@@ -315,6 +315,7 @@ manage_window.checkbox.show_details=Показать детали
|
|||||||
manage_window.columns.installed=Installed
|
manage_window.columns.installed=Installed
|
||||||
manage_window.columns.latest_version=Последняя версия
|
manage_window.columns.latest_version=Последняя версия
|
||||||
manage_window.columns.update=Обновить?
|
manage_window.columns.update=Обновить?
|
||||||
|
manage_window.info.no_info=There is no information available for {}
|
||||||
manage_window.label.apps_displayed.tip=Applications displayed / available
|
manage_window.label.apps_displayed.tip=Applications displayed / available
|
||||||
manage_window.label.updates=Обновления
|
manage_window.label.updates=Обновления
|
||||||
manage_window.name_filter.button_tooltip=Click here to filter apps by name
|
manage_window.name_filter.button_tooltip=Click here to filter apps by name
|
||||||
|
|||||||
@@ -315,6 +315,7 @@ manage_window.checkbox.show_details=Detayları göster
|
|||||||
manage_window.columns.installed=Yüklü
|
manage_window.columns.installed=Yüklü
|
||||||
manage_window.columns.latest_version=Son sürüm
|
manage_window.columns.latest_version=Son sürüm
|
||||||
manage_window.columns.update=Yükselt ?
|
manage_window.columns.update=Yükselt ?
|
||||||
|
manage_window.info.no_info=There is no information available for {}
|
||||||
manage_window.label.apps_displayed.tip=Applications displayed / available
|
manage_window.label.apps_displayed.tip=Applications displayed / available
|
||||||
manage_window.label.updates=Güncellemeler
|
manage_window.label.updates=Güncellemeler
|
||||||
manage_window.name_filter.button_tooltip=Click here to filter apps by name
|
manage_window.name_filter.button_tooltip=Click here to filter apps by name
|
||||||
|
|||||||
Reference in New Issue
Block a user