Fix bootstrap_repositories.py
This commit is contained in:
		@ -341,3 +341,34 @@ class Services(object):
 | 
				
			|||||||
                        break
 | 
					                        break
 | 
				
			||||||
                break
 | 
					                break
 | 
				
			||||||
        return res
 | 
					        return res
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    def get_service_with_repo_by_service_type(self, service_type):
 | 
				
			||||||
 | 
					        """Retrieve service with repos by service_type
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        :param str service_type: Filter by service_type
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
 | 
					        res = dict()
 | 
				
			||||||
 | 
					        res = {}
 | 
				
			||||||
 | 
					        services = self.all_services
 | 
				
			||||||
 | 
					        for service in services:
 | 
				
			||||||
 | 
					            if service["service_type"] == service_type:
 | 
				
			||||||
 | 
					                res = service
 | 
				
			||||||
 | 
					                for repositories in self.all_repositories:
 | 
				
			||||||
 | 
					                    if repositories["service_type"] == service["service_type"]:
 | 
				
			||||||
 | 
					                        res["repositories"] = repositories["repositories"]
 | 
				
			||||||
 | 
					                        break
 | 
				
			||||||
 | 
					                break
 | 
				
			||||||
 | 
					        return res
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def services_with_repos(self):
 | 
				
			||||||
 | 
					        """Retrieve all services with repos
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
 | 
					        res = []
 | 
				
			||||||
 | 
					        services = self.all_services
 | 
				
			||||||
 | 
					        for i, service in enumerate(services):
 | 
				
			||||||
 | 
					            res.append(service)
 | 
				
			||||||
 | 
					            for repositories in self.all_repositories:
 | 
				
			||||||
 | 
					                if repositories["service_type"] == service["service_type"]:
 | 
				
			||||||
 | 
					                    res[i]["repositories"] = repositories["repositories"]
 | 
				
			||||||
 | 
					                    break
 | 
				
			||||||
 | 
					        return res
 | 
				
			||||||
@ -113,17 +113,18 @@ def process_repositories(args, service):
 | 
				
			|||||||
    workdir.mkdir(exist_ok=True)
 | 
					    workdir.mkdir(exist_ok=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for repo in service["repositories"]:
 | 
					    for repo in service["repositories"]:
 | 
				
			||||||
        logging.debug(f"Processing repository {repo}")
 | 
					        if repo["cloud_environments"][0] == args.cloud_environment:
 | 
				
			||||||
        repo_dir = pathlib.Path(workdir, repo["type"], repo["repo"])
 | 
					            logging.debug(f"Processing repository {repo}")
 | 
				
			||||||
 | 
					            repo_dir = pathlib.Path(workdir, repo["type"], repo["repo"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if repo["environment"] != args.target_environment:
 | 
					            if repo["environment"] != args.target_environment:
 | 
				
			||||||
            continue
 | 
					                continue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        checkout_exists = repo_dir.exists()
 | 
					            checkout_exists = repo_dir.exists()
 | 
				
			||||||
        logging.debug(f"Repository {repo} exists {checkout_exists}")
 | 
					            logging.debug(f"Repository {repo} exists {checkout_exists}")
 | 
				
			||||||
        repo_dir.parent.mkdir(parents=True, exist_ok=True)
 | 
					            repo_dir.parent.mkdir(parents=True, exist_ok=True)
 | 
				
			||||||
        if True:  # not checkout_exists:
 | 
					            if True:  # not checkout_exists:
 | 
				
			||||||
            create_repo(repo, repo_dir, service)
 | 
					                create_repo(repo, repo_dir, service)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def main():
 | 
					def main():
 | 
				
			||||||
@ -139,14 +140,20 @@ def main():
 | 
				
			|||||||
        required=True,
 | 
					        required=True,
 | 
				
			||||||
        help="Working directory to use for repository checkout.",
 | 
					        help="Working directory to use for repository checkout.",
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					    parser.add_argument(
 | 
				
			||||||
 | 
					        "--cloud-environment",
 | 
				
			||||||
 | 
					        required=True,
 | 
				
			||||||
 | 
					        default="eu_de",
 | 
				
			||||||
 | 
					        help="Cloud Environment. Default: eu_de",
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    args = parser.parse_args()
 | 
					    args = parser.parse_args()
 | 
				
			||||||
    logging.basicConfig(level=logging.DEBUG)
 | 
					    logging.basicConfig(level=logging.DEBUG)
 | 
				
			||||||
    services = []
 | 
					    services = []
 | 
				
			||||||
    if args.service_type:
 | 
					    if args.service_type:
 | 
				
			||||||
        services = [data.service_dict.get(args.service_type)]
 | 
					        services = [data.get_service_with_repo_by_service_type(service_type=args.service_type)]
 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
        services = data.all_services
 | 
					        services = data.services_with_repos()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for service in services:
 | 
					    for service in services:
 | 
				
			||||||
        process_repositories(args, service)
 | 
					        process_repositories(args, service)
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user