diff --git a/core/controllers/ApplicationController.py b/core/controllers/ApplicationController.py index b584639..285688f 100644 --- a/core/controllers/ApplicationController.py +++ b/core/controllers/ApplicationController.py @@ -21,6 +21,10 @@ class ApplicationController: def get(code: str): return Application.find(code) + @staticmethod + def get_all(): + return Application.all() + @staticmethod def launch(version: ApplicationVersion, profile: SessionProfile, port_number: int = None, profile_observer: Optional[ProfileObserver] = None): diff --git a/core/controllers/ApplicationVersionController.py b/core/controllers/ApplicationVersionController.py index 9c9558f..ebe0430 100644 --- a/core/controllers/ApplicationVersionController.py +++ b/core/controllers/ApplicationVersionController.py @@ -1,3 +1,4 @@ +from core.controllers.ApplicationController import ApplicationController from core.models.session.ApplicationVersion import ApplicationVersion from core.observers.ApplicationVersionObserver import ApplicationVersionObserver from core.observers.ConnectionObserver import ConnectionObserver @@ -18,9 +19,10 @@ class ApplicationVersionController: @staticmethod def fetch(proxies: Optional[dict] = None): + applications = ApplicationController.get_all() application_versions = [] - for application_code in 'firefox', 'brave', 'chromium': + for application_code in [application.code for application in applications]: application_version_subset = WebServiceApiService.get_application_versions(application_code, proxies) diff --git a/core/models/session/Application.py b/core/models/session/Application.py index 35755bd..e00d04c 100644 --- a/core/models/session/Application.py +++ b/core/models/session/Application.py @@ -34,6 +34,11 @@ class Application(Model): Model._create_table_if_not_exists(table_name=_table_name, table_definition=_table_definition) return Model._query_one('SELECT * FROM applications WHERE code = ? LIMIT 1', Application.factory, [code]) + @staticmethod + def all(): + Model._create_table_if_not_exists(table_name=_table_name, table_definition=_table_definition) + return Model._query_all('SELECT * FROM applications', Application.factory) + @staticmethod def truncate(): Model._create_table_if_not_exists(table_name=_table_name, table_definition=_table_definition, drop_existing=True)