Source code for esgprep.fetchini.custom_exceptions

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
    :platform: Unix
    :synopsis: Custom exceptions used in this module.

"""


###################################
# Exceptions for GitHub connexion #
###################################


[docs]class GitHubException(Exception): """ Basic exception for GitHub errors. """ # API call url URI = [] def __init__(self, msg): self.uri = GitHubException.URI self.msg = msg self.msg += "\n<url: '{}'>".format(self.uri) super(GitHubException, self).__init__(self.msg)
[docs]class GitHubUnauthorized(GitHubException): """ Raised when no read access on GitHub repo. """ def __init__(self): self.msg = "GitHub permission denied" super(self.__class__, self).__init__(self.msg)
[docs]class GitHubAPIRateLimit(GitHubException): """ Raised when GitHub API rate limit exceeded. """ def __init__(self): self.msg = "GitHub API rate limit exceeded (try again in 60 minutes or submit GitHub user/password)" super(self.__class__, self).__init__(self.msg)
[docs]class GitHubFileNotFound(GitHubException): """ Raised when no file found on GitHub repo. """ def __init__(self): self.msg = "GitHub file not found" super(self.__class__, self).__init__(self.msg)
[docs]class GitHubConnectionError(GitHubException): """ Raised when the GitHub request fails. """ def __init__(self): self.msg = "GitHub connection error" super(self.__class__, self).__init__(self.msg)