Обработайте github.Исключение GithubException.Исключение GithubException: ошибка

#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.

Урок, проверьте, что импорт выполняет то, что вы ожидаете.