Improve application version retrieval logic

This commit is contained in:
codeking 2024-09-18 21:34:21 +02:00
parent d6c9664345
commit 792c416274
3 changed files with 12 additions and 1 deletions

View file

@ -21,6 +21,10 @@ class ApplicationController:
def get(code: str): def get(code: str):
return Application.find(code) return Application.find(code)
@staticmethod
def get_all():
return Application.all()
@staticmethod @staticmethod
def launch(version: ApplicationVersion, profile: SessionProfile, port_number: int = None, profile_observer: Optional[ProfileObserver] = None): def launch(version: ApplicationVersion, profile: SessionProfile, port_number: int = None, profile_observer: Optional[ProfileObserver] = None):

View file

@ -1,3 +1,4 @@
from core.controllers.ApplicationController import ApplicationController
from core.models.session.ApplicationVersion import ApplicationVersion from core.models.session.ApplicationVersion import ApplicationVersion
from core.observers.ApplicationVersionObserver import ApplicationVersionObserver from core.observers.ApplicationVersionObserver import ApplicationVersionObserver
from core.observers.ConnectionObserver import ConnectionObserver from core.observers.ConnectionObserver import ConnectionObserver
@ -18,9 +19,10 @@ class ApplicationVersionController:
@staticmethod @staticmethod
def fetch(proxies: Optional[dict] = None): def fetch(proxies: Optional[dict] = None):
applications = ApplicationController.get_all()
application_versions = [] 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) application_version_subset = WebServiceApiService.get_application_versions(application_code, proxies)

View file

@ -34,6 +34,11 @@ class Application(Model):
Model._create_table_if_not_exists(table_name=_table_name, table_definition=_table_definition) 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]) 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 @staticmethod
def truncate(): def truncate():
Model._create_table_if_not_exists(table_name=_table_name, table_definition=_table_definition, drop_existing=True) Model._create_table_if_not_exists(table_name=_table_name, table_definition=_table_definition, drop_existing=True)