mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-07 03:34:15 +02:00
appimage downgrading
This commit is contained in:
@@ -85,7 +85,41 @@ class AppImageManager(SoftwareManager):
|
||||
return res
|
||||
|
||||
def downgrade(self, pkg: AppImage, root_password: str, watcher: ProcessWatcher) -> bool:
|
||||
pass
|
||||
versions = self.get_history(pkg)
|
||||
|
||||
if len(versions.history) == 1:
|
||||
watcher.show_message(title=self.i18n['appimage.downgrade.impossible.title'],
|
||||
body=self.i18n['appimage.downgrade.impossible.body'].format(bold(pkg.name)),
|
||||
type_=MessageType.ERROR)
|
||||
return False
|
||||
elif versions.pkg_status_idx == -1:
|
||||
watcher.show_message(title=self.i18n['appimage.downgrade.impossible.title'],
|
||||
body=self.i18n['appimage.downgrade.unknown_version.body'].format(bold(pkg.name)),
|
||||
type_=MessageType.ERROR)
|
||||
return False
|
||||
elif versions.pkg_status_idx == len(versions.history) - 1:
|
||||
watcher.show_message(title=self.i18n['appimage.downgrade.impossible.title'],
|
||||
body=self.i18n['appimage.downgrade.first_version'].format(bold(pkg.name)),
|
||||
type_=MessageType.ERROR)
|
||||
return False
|
||||
else:
|
||||
if self.uninstall(pkg, root_password, watcher):
|
||||
old_release = versions.history[versions.pkg_status_idx + 1]
|
||||
pkg.version = old_release['0_version']
|
||||
pkg.url_download = old_release['2_url_download']
|
||||
if self.install(pkg, root_password, watcher):
|
||||
self.cache_to_disk(pkg, None, False)
|
||||
return True
|
||||
else:
|
||||
watcher.show_message(title=self.i18n['error'],
|
||||
body=self.i18n['appimage.downgrade.install_version'].format(bold(pkg.version), bold(pkg.url_download)),
|
||||
type_=MessageType.ERROR)
|
||||
else:
|
||||
watcher.show_message(title=self.i18n['error'],
|
||||
body=self.i18n['appimage.downgrade.uninstall_current_version'].format(bold(pkg.name)),
|
||||
type_=MessageType.ERROR)
|
||||
|
||||
return False
|
||||
|
||||
def update(self, pkg: AppImage, root_password: str, watcher: ProcessWatcher) -> SystemProcess:
|
||||
pass
|
||||
|
||||
@@ -35,8 +35,7 @@ class AppImage(SoftwarePackage):
|
||||
return True
|
||||
|
||||
def can_be_downgraded(self):
|
||||
# TODO
|
||||
return False
|
||||
return self.installed
|
||||
|
||||
def get_type(self):
|
||||
return 'AppImage'
|
||||
|
||||
@@ -7,4 +7,10 @@ appimage.info.url_download=File URL
|
||||
appimage.info.icon_path=icon
|
||||
appimage.history.0_version=version
|
||||
appimage.history.1_published_at=date
|
||||
appimage.history.2_url_download=File URL
|
||||
appimage.history.2_url_download=File URL
|
||||
appimage.downgrade.impossible.title=Impossible to downgrade
|
||||
appimage.downgrade.impossible.body={} has only one published version.
|
||||
appimage.downgrade.unknown_version.body=It was not possible to identify {} current version in its versions history
|
||||
appimage.downgrade.first_version={} is in its first published version
|
||||
appimage.downgrade.uninstall_current_version=It was not possible to uninstall the current version of {}
|
||||
appimage.downgrade.install_version=It was not possible to install the version {} ({})
|
||||
@@ -7,4 +7,10 @@ appimage.info.url_download=URL del archivo
|
||||
appimage.info.icon_path=icono
|
||||
appimage.history.0_version=versión
|
||||
appimage.history.1_published_at=fecha
|
||||
appimage.history.2_url_download=URL del archivo
|
||||
appimage.history.2_url_download=URL del archivo
|
||||
appimage.downgrade.impossible.title=Imposible revertir la versión
|
||||
appimage.downgrade.impossible.body={} solo tiene una versión publicada.
|
||||
appimage.downgrade.unknown_version.body=No fue posible identificar la versión actual de {} en su historial de versiones
|
||||
appimage.downgrade.first_version={} está en su primera versión publicada
|
||||
appimage.downgrade.uninstall_current_version=No fue posible desinstalar la versión actual de {}
|
||||
appimage.downgrade.install_version=No fue posible instalar la versión {} ({})
|
||||
@@ -7,4 +7,10 @@ appimage.info.url_download=URL do arquivo
|
||||
appimage.info.icon_path=ícone
|
||||
appimage.history.0_version=versão
|
||||
appimage.history.1_published_at=data
|
||||
appimage.history.2_url_download=URL do arquivo
|
||||
appimage.history.2_url_download=URL do arquivo
|
||||
appimage.downgrade.impossible.title=Impossível reverter a versão
|
||||
appimage.downgrade.impossible.body={} tem somente uma versão publicada.
|
||||
appimage.downgrade.unknown_version.body=Não foi possível identificar a versão atual de {} no seu histórico de versões
|
||||
appimage.downgrade.first_version={} se encontra em sua primeira versão publicada
|
||||
appimage.downgrade.uninstall_current_version=Não foi possível desinstalar a versão atual de {}
|
||||
appimage.downgrade.install_version=Não foi possivel instalar a versão {} ({})
|
||||
Reference in New Issue
Block a user