[snap] fix: not showing 'API is out' popup when there is no internet connection

This commit is contained in:
Vinicius Moreira
2019-10-24 14:52:25 -03:00
parent 97fe290bff
commit c323ed125b
6 changed files with 15 additions and 11 deletions

View File

@@ -396,7 +396,7 @@ class AppImageManager(SoftwareManager):
return updates
def list_warnings(self) -> List[str]:
def list_warnings(self, internet_available: bool) -> List[str]:
pass
def list_suggestions(self, limit: int) -> List[PackageSuggestion]:

View File

@@ -710,7 +710,7 @@ class ArchManager(SoftwareManager):
installed = self.read_installed(disk_loader=None, internet_available=internet_available).installed
return [PackageUpdate(p.id, p.latest_version, 'aur') for p in installed if p.update]
def list_warnings(self) -> List[str]:
def list_warnings(self, internet_available: bool) -> List[str]:
warnings = []
if self.arch_distro:

View File

@@ -248,7 +248,7 @@ class FlatpakManager(SoftwareManager):
return updates
def list_warnings(self) -> List[str]:
def list_warnings(self, internet_available: bool) -> List[str]:
if flatpak.is_installed():
if not flatpak.has_remotes_set():
return [self.i18n['flatpak.notification.no_remotes']]

View File

@@ -196,17 +196,18 @@ class SnapManager(SoftwareManager):
def list_updates(self, internet_available: bool) -> List[PackageUpdate]:
pass
def list_warnings(self) -> List[str]:
def list_warnings(self, internet_available: bool) -> List[str]:
if snap.is_installed() and not snap.is_snapd_running():
snap_bold = bold('Snap')
return [self.i18n['snap.notification.snapd_unavailable'].format(bold('snapd'), snap_bold),
self.i18n['snap.notification.snap.disable'].format(snap_bold, bold(self.i18n['manage_window.settings.gems']))]
available, output = snap.is_api_available()
if internet_available:
available, output = snap.is_api_available()
if not available:
self.logger.warning('It seems Snap API is not available. Search output: {}'.format(output))
return [self.i18n['snap.notifications.api.unavailable'].format(bold('Snaps'), bold('Snap'))]
if not available:
self.logger.warning('It seems Snap API is not available. Search output: {}'.format(output))
return [self.i18n['snap.notifications.api.unavailable'].format(bold('Snaps'), bold('Snap'))]
def _fill_suggestion(self, pkg_name: str, priority: SuggestionPriority, out: List[PackageSuggestion]):
res = self.http_client.get_json(SNAP_API_URL + '/search?q=package_name:{}'.format(pkg_name))