[api] improvement: SoftwareManager.get_screenshots returning a generator instead of a list

This commit is contained in:
Vinicius Moreira
2022-02-24 10:32:20 -03:00
parent b2fb656dc0
commit 5a1269d07f
9 changed files with 23 additions and 29 deletions

View File

@@ -520,11 +520,11 @@ class GenericSoftwareManager(SoftwareManager):
self.logger.info(f'Launching {pkg}')
man.launch(pkg)
def get_screenshots(self, pkg: SoftwarePackage):
def get_screenshots(self, pkg: SoftwarePackage) -> Generator[str, None, None]:
man = self._get_manager_for(pkg)
if man:
return man.get_screenshots(pkg)
yield from man.get_screenshots(pkg)
def get_working_managers(self):
return [m for m in self.managers if self._can_work(m)]

View File

@@ -1066,7 +1066,7 @@ class ShowScreenshots(AsyncAction):
def run(self):
if self.pkg:
self.notify_finished({'pkg': self.pkg, 'screenshots': self.manager.get_screenshots(self.pkg.model)})
self.notify_finished({'pkg': self.pkg, 'screenshots': tuple(self.manager.get_screenshots(self.pkg.model))})
self.pkg = None