#python #github #pygithub
#python #github #pygithub
Вопрос:
У меня есть такая функция, чтобы создать репозиторий github и вернуть его.
def CreateGitHubRepo(token, repo_name):
# instantiate github account
g = Github(token)
# create authenticated user
authed_user = g.get_user()
# create a new repo
repo = authed_user.create_repo(repo_name)
return repo
Однако, если репозиторий уже существует с тем же именем, я получаю сообщение об ошибке github.GithubException.GithubException: 422 {"message": "Repository creation failed.", "errors": [{"resource": "Repository", "code": "custom", "field": "name", "message": "name already exists on this account"}], "documentation_url": "https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user"}
Мой вопрос в том, как я могу справиться с этим в своем скрипте, чтобы перехватить эту ошибку и двигаться вперед, например
try:
NewRepo = CreateGitHubRepo(token, repo_name)
print("Created New Git Repo: %s" % repo_name)
print(NewRepo)
except GithubException as err:
print('test')
Я перепробовал все способы, которые я могу придумать, чтобы получить исключение для обнаружения этой ошибки, и я немного смущен.
Комментарии:
1. Какую ошибку вы получаете при попытке поймать
except GithubException as err:
?
Ответ №1:
Ответ, я не импортировал модуль github, как хотелось бы. У меня был from github import Github
so, который не включал класс GithubException.
Урок, проверьте, что импорт выполняет то, что вы ожидаете.