Improve application version retrieval logic
This commit is contained in:
		
							parent
							
								
									d6c9664345
								
							
						
					
					
						commit
						792c416274
					
				
					 3 changed files with 12 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -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):
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue