mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-09 07:34:16 +02:00
[web] displaying the config dir on the info window | removing the config dir during uninstallation
This commit is contained in:
@@ -308,7 +308,18 @@ class WebApplicationManager(SoftwareManager):
|
|||||||
except:
|
except:
|
||||||
watcher.show_message(title=self.i18n['error'],
|
watcher.show_message(title=self.i18n['error'],
|
||||||
body=self.i18n['web.uninstall.error.remove'].format(bold(autostart_path)),
|
body=self.i18n['web.uninstall.error.remove'].format(bold(autostart_path)),
|
||||||
type_=MessageType.ERROR)
|
type_=MessageType.WARNING)
|
||||||
|
traceback.print_exc()
|
||||||
|
|
||||||
|
config_path = pkg.get_config_dir()
|
||||||
|
|
||||||
|
if os.path.exists(config_path):
|
||||||
|
try:
|
||||||
|
shutil.rmtree(config_path)
|
||||||
|
except:
|
||||||
|
watcher.show_message(title=self.i18n['error'],
|
||||||
|
body=self.i18n['web.uninstall.error.remove'].format(bold(config_path)),
|
||||||
|
type_=MessageType.WARNING)
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
|
||||||
return True
|
return True
|
||||||
@@ -318,15 +329,20 @@ class WebApplicationManager(SoftwareManager):
|
|||||||
|
|
||||||
def get_info(self, pkg: WebApplication) -> dict:
|
def get_info(self, pkg: WebApplication) -> dict:
|
||||||
if pkg.installed:
|
if pkg.installed:
|
||||||
info = {'{}_{}'.format(idx + 1, att): getattr(pkg, att) for idx, att in enumerate(('url', 'description', 'version', 'categories', 'installation_dir', 'desktop_entry'))}
|
info = {'0{}_{}'.format(idx + 1, att): getattr(pkg, att) for idx, att in enumerate(('url', 'description', 'version', 'categories', 'installation_dir', 'desktop_entry'))}
|
||||||
info['7_exec_file'] = pkg.get_exec_path()
|
info['07_exec_file'] = pkg.get_exec_path()
|
||||||
info['8_icon_path'] = pkg.get_disk_icon_path()
|
info['08_icon_path'] = pkg.get_disk_icon_path()
|
||||||
|
|
||||||
if os.path.exists(pkg.installation_dir):
|
if os.path.exists(pkg.installation_dir):
|
||||||
info['9_size'] = get_human_size_str(get_dir_size(pkg.installation_dir))
|
info['09_size'] = get_human_size_str(get_dir_size(pkg.installation_dir))
|
||||||
|
|
||||||
if info.get('4_categories'):
|
config_dir = pkg.get_config_dir()
|
||||||
info['4_categories'] = [self.i18n[c.lower()].capitalize() for c in info['4_categories']]
|
|
||||||
|
if config_dir:
|
||||||
|
info['10_config_dir'] = config_dir
|
||||||
|
|
||||||
|
if info.get('04_categories'):
|
||||||
|
info['04_categories'] = [self.i18n[c.lower()].capitalize() for c in info['04_categories']]
|
||||||
|
|
||||||
return info
|
return info
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import glob
|
||||||
|
import os
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
@@ -113,3 +115,14 @@ class WebApplication(SoftwarePackage):
|
|||||||
if custom_icon:
|
if custom_icon:
|
||||||
self.icon_url = custom_icon
|
self.icon_url = custom_icon
|
||||||
|
|
||||||
|
def get_config_dir(self) -> str:
|
||||||
|
if self.installation_dir:
|
||||||
|
config_path = '{}/.config'.format(Path.home())
|
||||||
|
|
||||||
|
if os.path.exists(config_path):
|
||||||
|
config_dirs = glob.glob('{}/{}-nativefier-*'.format(config_path, self.installation_dir.split('/')[-1]))
|
||||||
|
|
||||||
|
if config_dirs:
|
||||||
|
return config_dirs[0]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,12 +44,13 @@ web.install.option.icon.label=Custom icon
|
|||||||
web.install.global_nativefier.unavailable={n} seems not to be installed on your system. It will not be possible to install {app}
|
web.install.global_nativefier.unavailable={n} seems not to be installed on your system. It will not be possible to install {app}
|
||||||
web.uninstall.error.install_dir.not_found=The installation directory {} was not found
|
web.uninstall.error.install_dir.not_found=The installation directory {} was not found
|
||||||
web.uninstall.error.remove_dir=It was not possible to remove {}
|
web.uninstall.error.remove_dir=It was not possible to remove {}
|
||||||
web.info.1_url=URL
|
web.info.01_url=URL
|
||||||
web.info.2_description=description
|
web.info.02_description=description
|
||||||
web.info.3_version=version
|
web.info.03_version=version
|
||||||
web.info.4_categories=categories
|
web.info.04_categories=categories
|
||||||
web.info.5_installation_dir=installation dir
|
web.info.05_installation_dir=installation dir
|
||||||
web.info.6_desktop_entry=shortcut
|
web.info.06_desktop_entry=shortcut
|
||||||
web.info.7_exec_file=executable
|
web.info.07_exec_file=executable
|
||||||
web.info.8_icon_path=icon
|
web.info.08_icon_path=icon
|
||||||
web.info.9_size=size
|
web.info.09_size=size
|
||||||
|
web.info.10_config_dir=configuration dir
|
||||||
@@ -44,12 +44,13 @@ web.install.option.icon.label=Icono personalizado
|
|||||||
web.install.global_nativefier.unavailable={n} parece no estar instalado en su sistema. No será posible instalar {app}
|
web.install.global_nativefier.unavailable={n} parece no estar instalado en su sistema. No será posible instalar {app}
|
||||||
web.uninstall.error.install_dir.not_found=No se encontró el directorio de instalación {}
|
web.uninstall.error.install_dir.not_found=No se encontró el directorio de instalación {}
|
||||||
web.uninstall.error.remove_dir=No fue posible eliminar {}
|
web.uninstall.error.remove_dir=No fue posible eliminar {}
|
||||||
web.info.1_url=URL
|
web.info.01_url=URL
|
||||||
web.info.2_description=descripción
|
web.info.02_description=descripción
|
||||||
web.info.3_version=versión
|
web.info.03_version=versión
|
||||||
web.info.4_categories=categorías
|
web.info.04_categories=categorías
|
||||||
web.info.5_installation_dir=directorio de instalación
|
web.info.05_installation_dir=directorio de instalación
|
||||||
web.info.6_desktop_entry=atajo
|
web.info.06_desktop_entry=atajo
|
||||||
web.info.7_exec_file=ejecutable
|
web.info.07_exec_file=ejecutable
|
||||||
web.info.8_icon_path=icono
|
web.info.08_icon_path=icono
|
||||||
web.info.9_size=tamaño
|
web.info.09_size=tamaño
|
||||||
|
web.info.10_config_dir=directorio de configuración
|
||||||
@@ -44,12 +44,13 @@ web.install.option.icon.label=Ícone alternativo
|
|||||||
web.install.global_nativefier.unavailable={n} não parece estar instalado no seu sistema. Não será possível instalar {app}
|
web.install.global_nativefier.unavailable={n} não parece estar instalado no seu sistema. Não será possível instalar {app}
|
||||||
web.uninstall.error.install_dir.not_found=O diretório de instalação {} não foi encontrado
|
web.uninstall.error.install_dir.not_found=O diretório de instalação {} não foi encontrado
|
||||||
web.uninstall.error.remove=Não foi possível remover {}
|
web.uninstall.error.remove=Não foi possível remover {}
|
||||||
web.info.1_url=URL
|
web.info.01_url=URL
|
||||||
web.info.2_description=descrição
|
web.info.02_description=descrição
|
||||||
web.info.3_version=versão
|
web.info.03_version=versão
|
||||||
web.info.4_categories=categorias
|
web.info.04_categories=categorias
|
||||||
web.info.5_installation_dir=diretório de instalação
|
web.info.05_installation_dir=diretório de instalação
|
||||||
web.info.6_desktop_entry=atalho
|
web.info.06_desktop_entry=atalho
|
||||||
web.info.7_exec_file=executável
|
web.info.07_exec_file=executável
|
||||||
web.info.8_icon_path=ícone
|
web.info.08_icon_path=ícone
|
||||||
web.info.9_size=tamanho
|
web.info.09_size=tamanho
|
||||||
|
web.info.10_config_dir=diretório de configuração
|
||||||
Reference in New Issue
Block a user