fix: snap and arch categories mapping when nothing is retrieved from the cloud

This commit is contained in:
Vinicius Moreira
2019-10-14 17:51:44 -03:00
parent fd4df6d902
commit 7d94db740e
3 changed files with 14 additions and 15 deletions

View File

@@ -655,11 +655,8 @@ class ArchManager(SoftwareManager):
return res
def _is_wget_available(self):
try:
new_subprocess(['wget', '--version'])
return True
except FileNotFoundError:
return False
res = run_cmd('which wget')
return res and not res.strip().startswith('which ')
def is_enabled(self) -> bool:
return self.enabled
@@ -690,7 +687,10 @@ class ArchManager(SoftwareManager):
self.dcache_updater.start()
self.comp_optimizer.start()
self.aur_index_updater.start()
self.categories_map = self.categories_downloader.get_categories()
categories = self.categories_downloader.get_categories()
if categories:
self.categories_map = categories
def list_updates(self, internet_available: bool) -> List[PackageUpdate]:
installed = self.read_installed(disk_loader=None, internet_available=internet_available).installed

View File

@@ -1,19 +1,15 @@
import re
import subprocess
from typing import List, Set
from bauh.api.abstract.handler import ProcessWatcher
from bauh.commons.system import run_cmd, new_subprocess, new_root_subprocess, SystemProcess, ProcessHandler
from bauh.commons.system import run_cmd, new_subprocess, new_root_subprocess, SystemProcess
RE_DEPS = re.compile(r'[\w\-_]+:[\s\w_\-\.]+\s+\[\w+\]')
RE_OPTDEPS = re.compile(r'[\w\._\-]+\s*:')
def is_enabled() -> bool:
try:
new_subprocess(['pacman', '--version'])
return True
except FileNotFoundError:
return False
res = run_cmd('which pacman')
return res and not res.strip().startswith('which ')
def get_mirrors(pkgs: Set[str]) -> dict:

View File

@@ -143,7 +143,10 @@ class SnapManager(SoftwareManager):
return ProcessHandler(watcher).handle(SystemProcess(subproc=snap.refresh_and_stream(pkg.name, root_password)))
def prepare(self):
self.categories = self.categories_downloader.get_categories()
categories = self.categories_downloader.get_categories()
if categories:
self.categories = categories
def list_updates(self, internet_available: bool) -> List[PackageUpdate]:
pass