From 24725fa8681f906ab44d80687c09fecc171a2896 Mon Sep 17 00:00:00 2001 From: "MobileMachine\\jeremy" Date: Tue, 6 Jun 2017 22:59:03 -0400 Subject: Initial Submission First submission of current state of ARTv2. Currently considered to be in Alpha. There are a couple of animation tools not implemented yet, and one module not implemented yet, as well as incomplete documentation. --- Core/Scripts/ThirdParty/github/GithubException.py | 116 ++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 Core/Scripts/ThirdParty/github/GithubException.py (limited to 'Core/Scripts/ThirdParty/github/GithubException.py') diff --git a/Core/Scripts/ThirdParty/github/GithubException.py b/Core/Scripts/ThirdParty/github/GithubException.py new file mode 100644 index 0000000..594f201 --- /dev/null +++ b/Core/Scripts/ThirdParty/github/GithubException.py @@ -0,0 +1,116 @@ +# -*- coding: utf-8 -*- + +# ########################## Copyrights and license ############################ +# # +# Copyright 2012 Vincent Jacques # +# Copyright 2012 Zearin # +# Copyright 2013 AKFish # +# Copyright 2013 Vincent Jacques # +# # +# This file is part of PyGithub. http://jacquev6.github.com/PyGithub/ # +# # +# PyGithub is free software: you can redistribute it and/or modify it under # +# the terms of the GNU Lesser General Public License as published by the Free # +# Software Foundation, either version 3 of the License, or (at your option) # +# any later version. # +# # +# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY # +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # +# details. # +# # +# You should have received a copy of the GNU Lesser General Public License # +# along with PyGithub. If not, see . # +# # +# ############################################################################## + + +class GithubException(Exception): + """ + Error handling in PyGithub is done with exceptions. This class is the base of all exceptions raised by PyGithub (but :class:`github.GithubException.BadAttributeException`). + + Some other types of exceptions might be raised by underlying libraries, for example for network-related issues. + """ + + def __init__(self, status, data): + Exception.__init__(self) + self.__status = status + self.__data = data + + @property + def status(self): + """ + The status returned by the Github API + """ + return self.__status + + @property + def data(self): + """ + The (decoded) data returned by the Github API + """ + return self.__data + + def __str__(self): + return str(self.status) + " " + str(self.data) + + +class BadCredentialsException(GithubException): + """ + Exception raised in case of bad credentials (when Github API replies with a 401 or 403 HTML status) + """ + + +class UnknownObjectException(GithubException): + """ + Exception raised when a non-existing object is requested (when Github API replies with a 404 HTML status) + """ + + +class BadUserAgentException(GithubException): + """ + Exception raised when request is sent with a bad user agent header (when Github API replies with a 403 bad user agent HTML status) + """ + + +class RateLimitExceededException(GithubException): + """ + Exception raised when the rate limit is exceeded (when Github API replies with a 403 rate limit exceeded HTML status) + """ + + +class BadAttributeException(Exception): + """ + Exception raised when Github returns an attribute with the wrong type. + """ + def __init__(self, actualValue, expectedType, transformationException): + self.__actualValue = actualValue + self.__expectedType = expectedType + self.__transformationException = transformationException + + @property + def actual_value(self): + """ + The value returned by Github + """ + return self.__actualValue + + @property + def expected_type(self): + """ + The type PyGithub expected + """ + return self.__expectedType + + @property + def transformation_exception(self): + """ + The exception raised when PyGithub tried to parse the value + """ + return self.__transformationException + + +class TwoFactorException(GithubException): + """ + Exception raised when Github requires a onetime password for two-factor authentication + """ -- cgit v1.2.3