config: call Repo.factory only in one place
This patch simplifies the code a bit and does not change any semantics. Signed-off-by: Henning Schild <henning.schild@siemens.com>
This commit is contained in:
		
				
					committed by
					
						
						Daniel Wagner
					
				
			
			
				
	
			
			
			
						parent
						
							3594ad50a0
						
					
				
				
					commit
					9da82dba13
				
			@@ -189,6 +189,7 @@ class Config:
 | 
				
			|||||||
            name = repo_config_dict[repo].get('name', repo)
 | 
					            name = repo_config_dict[repo].get('name', repo)
 | 
				
			||||||
            refspec = repo_config_dict[repo].get('refspec', None)
 | 
					            refspec = repo_config_dict[repo].get('refspec', None)
 | 
				
			||||||
            path = repo_config_dict[repo].get('path', None)
 | 
					            path = repo_config_dict[repo].get('path', None)
 | 
				
			||||||
 | 
					            dis_ops = False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if url is None:
 | 
					            if url is None:
 | 
				
			||||||
                # No git operation on repository
 | 
					                # No git operation on repository
 | 
				
			||||||
@@ -199,12 +200,12 @@ class Config:
 | 
				
			|||||||
                                 name)
 | 
					                                 name)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                url = path
 | 
					                url = path
 | 
				
			||||||
                rep = Repo.factory(url=url, path=path, layers=layers)
 | 
					                dis_ops = True
 | 
				
			||||||
                rep.disable_operations()
 | 
					 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
                path = path or os.path.join(self.kas_work_dir, name)
 | 
					                path = path or os.path.join(self.kas_work_dir, name)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            rep = Repo.factory(url=url, path=path, refspec=refspec,
 | 
					            rep = Repo.factory(url=url, path=path, refspec=refspec,
 | 
				
			||||||
                                   layers=layers)
 | 
					                               layers=layers, disable_operations=dis_ops)
 | 
				
			||||||
            repo_dict[repo] = rep
 | 
					            repo_dict[repo] = rep
 | 
				
			||||||
        return repo_dict
 | 
					        return repo_dict
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										16
									
								
								kas/repos.py
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								kas/repos.py
									
									
									
									
									
								
							@@ -38,19 +38,14 @@ class Repo:
 | 
				
			|||||||
        Represents a repository in the kas configuration.
 | 
					        Represents a repository in the kas configuration.
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __init__(self, url, path, refspec, layers):
 | 
					    def __init__(self, url, path, refspec, layers, disable_operations):
 | 
				
			||||||
 | 
					        # pylint: disable=too-many-arguments
 | 
				
			||||||
        self.url = url
 | 
					        self.url = url
 | 
				
			||||||
        self.path = path
 | 
					        self.path = path
 | 
				
			||||||
        self.refspec = refspec
 | 
					        self.refspec = refspec
 | 
				
			||||||
        self._layers = layers
 | 
					        self._layers = layers
 | 
				
			||||||
        self.name = os.path.basename(self.path)
 | 
					        self.name = os.path.basename(self.path)
 | 
				
			||||||
        self.operations_disabled = False
 | 
					        self.operations_disabled = disable_operations
 | 
				
			||||||
 | 
					 | 
				
			||||||
    def disable_operations(self):
 | 
					 | 
				
			||||||
        """
 | 
					 | 
				
			||||||
            Disabled all version control operation for this repository.
 | 
					 | 
				
			||||||
        """
 | 
					 | 
				
			||||||
        self.operations_disabled = True
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __getattr__(self, item):
 | 
					    def __getattr__(self, item):
 | 
				
			||||||
        if item == 'layers':
 | 
					        if item == 'layers':
 | 
				
			||||||
@@ -74,11 +69,12 @@ class Repo:
 | 
				
			|||||||
                                self.path, self._layers)
 | 
					                                self.path, self._layers)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @staticmethod
 | 
					    @staticmethod
 | 
				
			||||||
    def factory(url, path, refspec=None, layers=None):
 | 
					    def factory(url, path, refspec, layers, disable_operations):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
            Return an instance Repo depending on params.
 | 
					            Return an instance Repo depending on params.
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        return GitRepo(url, path, refspec, layers)
 | 
					        # pylint: disable=too-many-arguments
 | 
				
			||||||
 | 
					        return GitRepo(url, path, refspec, layers, disable_operations)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @staticmethod
 | 
					    @staticmethod
 | 
				
			||||||
    def get_root_path(path, environ):
 | 
					    def get_root_path(path, environ):
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user