[api] improvement: list_suggestions as an optional method (SoftwareManager)

This commit is contained in:
Vinicius Moreira
2022-04-12 10:22:38 -03:00
parent 4271d94b26
commit 33cfa97bf0
7 changed files with 7 additions and 8 deletions

View File

@@ -360,8 +360,7 @@ class SoftwareManager(ABC):
"""
pass
@abstractmethod
def list_suggestions(self, limit: int, filter_installed: bool) -> List[PackageSuggestion]:
def list_suggestions(self, limit: int, filter_installed: bool) -> Optional[List[PackageSuggestion]]:
"""
:param limit: max suggestions to be returned. If limit < 0, it should not be considered
:param filter_installed: if the installed suggestions should not be retrieved

View File

@@ -767,7 +767,7 @@ class AppImageManager(SoftwareManager, SettingsController):
if not dbfiles or len({f for f in (DATABASE_APPS_FILE, DATABASE_RELEASES_FILE) if f in dbfiles}) != 2:
return [self.i18n['appimage.warning.missing_db_files'].format(appimage=bold('AppImage'))]
def list_suggestions(self, limit: int, filter_installed: bool) -> List[PackageSuggestion]:
def list_suggestions(self, limit: int, filter_installed: bool) -> Optional[List[PackageSuggestion]]:
res = []
connection = self._get_db_connection(DATABASE_APPS_FILE)

View File

@@ -2797,7 +2797,7 @@ class ArchManager(SoftwareManager, SettingsController):
if not git.is_installed():
return [self.i18n['arch.warning.aur_missing_dep'].format(bold('git'))]
def list_suggestions(self, limit: int, filter_installed: bool) -> List[PackageSuggestion]:
def list_suggestions(self, limit: int, filter_installed: bool) -> Optional[List[PackageSuggestion]]:
self.logger.info("Downloading suggestions file {}".format(SUGGESTIONS_FILE))
file = self.http_client.get(SUGGESTIONS_FILE)

View File

@@ -521,7 +521,7 @@ class DebianPackageManager(SoftwareManager, SettingsController):
if suggestions:
output.update(suggestions)
def list_suggestions(self, limit: int, filter_installed: bool) -> List[PackageSuggestion]:
def list_suggestions(self, limit: int, filter_installed: bool) -> Optional[List[PackageSuggestion]]:
name_priority = dict()
fill_suggestions = Thread(target=self._fill_suggestions, args=(name_priority,))

View File

@@ -537,7 +537,7 @@ class FlatpakManager(SoftwareManager, SettingsController):
def list_warnings(self, internet_available: bool) -> Optional[List[str]]:
pass
def list_suggestions(self, limit: int, filter_installed: bool) -> List[PackageSuggestion]:
def list_suggestions(self, limit: int, filter_installed: bool) -> Optional[List[PackageSuggestion]]:
cli_version = flatpak.get_version()
res = []

View File

@@ -361,7 +361,7 @@ class SnapManager(SoftwareManager, SettingsController):
app.status = PackageStatus.READY
return app
def list_suggestions(self, limit: int, filter_installed: bool) -> List[PackageSuggestion]:
def list_suggestions(self, limit: int, filter_installed: bool) -> Optional[List[PackageSuggestion]]:
res = []
if snapd.is_running():

View File

@@ -1023,7 +1023,7 @@ class WebApplicationManager(SoftwareManager, SettingsController):
def _fill_config_async(self, output: dict):
output.update(self.configman.get_config())
def list_suggestions(self, limit: int, filter_installed: bool) -> List[PackageSuggestion]:
def list_suggestions(self, limit: int, filter_installed: bool) -> Optional[List[PackageSuggestion]]:
web_config = {}
thread_config = Thread(target=self._fill_config_async, args=(web_config,))