def create_repo(self, repo: AnyRepository) -> AnyRepositoryResponse: """ Creates a local, virtual or remote repository :param repo: Either a local, virtual or remote repository :return: LocalRepositoryResponse, VirtualRepositoryResponse or RemoteRepositoryResponse object """ repo_name = repo.key try: self.get_repo(repo_name) logger.error("Repository %s already exists", repo_name) raise RepositoryAlreadyExistsException( f"Repository {repo_name} already exists" ) except RepositoryNotFoundException: self._put(f"api/{self._uri}/{repo_name}", json=repo.dict()) logger.debug("Repository %s successfully created", repo_name) return self.get_repo(repo_name)
def create_remote_repo(self, repo: RemoteRepository) -> RemoteRepositoryResponse: """ Creates a new local repository :param repo: RemoteRepository object :return: RemoteRepositoryResponse object """ repo_name = repo.key try: self.get_remote_repo(repo_name) logging.error(f"Repository {repo_name} already exists") raise RepositoryAlreadyExistsException( f"Repository {repo_name} already exists") except RepositoryNotFoundException: self._put(f"api/{self._uri}/{repo_name}", json=repo.dict()) logging.debug(f"Repository {repo_name} successfully created") return self.get_remote_repo(repo_name)
def create_remote_repo(self, repo: RemoteRepository) -> RemoteRepositoryResponse: """ Creates a new local repository :param repo: RemoteRepository object :return: RemoteRepositoryResponse object """ warnings.warn( "`create_remote_repo()` is deprecated, use `create_repo` instead", DeprecationWarning, ) repo_name = repo.key try: self.get_remote_repo(repo_name) logger.error("Repository %s already exists", repo_name) raise RepositoryAlreadyExistsException( f"Repository {repo_name} already exists") except RepositoryNotFoundException: self._put(f"api/{self._uri}/{repo_name}", json=repo.dict()) logger.debug("Repository %s successfully created", repo_name) return self.get_remote_repo(repo_name)
def create_repo(self, repo: AnyRepository) -> AnyRepositoryResponse: """ Creates a local, virtual or remote repository :param repo: Either a local, virtual or remote repository :return: LocalRepositoryResponse, VirtualRepositoryResponse or RemoteRepositoryResponse object """ repo_name = repo.key try: self.get_repo(repo_name) logger.error("Repository %s already exists", repo_name) raise RepositoryAlreadyExistsException( f"Repository {repo_name} already exists") except RepositoryNotFoundException: data = json.dumps(repo, default=custom_encoder) self._put( f"api/{self._uri}/{repo_name}", headers={"Content-Type": "application/json"}, data=data, ) logger.debug("Repository %s successfully created", repo_name) return self.get_repo(repo_name)