Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(999)

Side by Side Diff: third_party/google_api_python_client/googleapiclient/errors.py

Issue 963953003: OAuth2 support in depot_tools (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: restore git_cl Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 #!/usr/bin/python2.4
2 #
3 # Copyright 2014 Google Inc. All Rights Reserved.
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16
17 """Errors for the library.
18
19 All exceptions defined by the library
20 should be defined in this file.
21 """
22
23 __author__ = 'jcgregorio@google.com (Joe Gregorio)'
24
25 import json
26
27 from ...oauth2client import util
28
29
30 class Error(Exception):
31 """Base error for this module."""
32 pass
33
34
35 class HttpError(Error):
36 """HTTP data was invalid or unexpected."""
37
38 @util.positional(3)
39 def __init__(self, resp, content, uri=None):
40 self.resp = resp
41 self.content = content
42 self.uri = uri
43
44 def _get_reason(self):
45 """Calculate the reason for the error from the response content."""
46 reason = self.resp.reason
47 try:
48 data = json.loads(self.content)
49 reason = data['error']['message']
50 except (ValueError, KeyError):
51 pass
52 if reason is None:
53 reason = ''
54 return reason
55
56 def __repr__(self):
57 if self.uri:
58 return '<HttpError %s when requesting %s returned "%s">' % (
59 self.resp.status, self.uri, self._get_reason().strip())
60 else:
61 return '<HttpError %s "%s">' % (self.resp.status, self._get_reason())
62
63 __str__ = __repr__
64
65
66 class InvalidJsonError(Error):
67 """The JSON returned could not be parsed."""
68 pass
69
70
71 class UnknownFileType(Error):
72 """File type unknown or unexpected."""
73 pass
74
75
76 class UnknownLinkType(Error):
77 """Link type unknown or unexpected."""
78 pass
79
80
81 class UnknownApiNameOrVersion(Error):
82 """No API with that name and version exists."""
83 pass
84
85
86 class UnacceptableMimeTypeError(Error):
87 """That is an unacceptable mimetype for this operation."""
88 pass
89
90
91 class MediaUploadSizeError(Error):
92 """Media is larger than the method can accept."""
93 pass
94
95
96 class ResumableUploadError(HttpError):
97 """Error occured during resumable upload."""
98 pass
99
100
101 class InvalidChunkSizeError(Error):
102 """The given chunksize is not valid."""
103 pass
104
105 class InvalidNotificationError(Error):
106 """The channel Notification is invalid."""
107 pass
108
109 class BatchError(HttpError):
110 """Error occured during batch operations."""
111
112 @util.positional(2)
113 def __init__(self, reason, resp=None, content=None):
114 self.resp = resp
115 self.content = content
116 self.reason = reason
117
118 def __repr__(self):
119 return '<BatchError %s "%s">' % (self.resp.status, self.reason)
120
121 __str__ = __repr__
122
123
124 class UnexpectedMethodError(Error):
125 """Exception raised by RequestMockBuilder on unexpected calls."""
126
127 @util.positional(1)
128 def __init__(self, methodId=None):
129 """Constructor for an UnexpectedMethodError."""
130 super(UnexpectedMethodError, self).__init__(
131 'Received unexpected call %s' % methodId)
132
133
134 class UnexpectedBodyError(Error):
135 """Exception raised by RequestMockBuilder on unexpected bodies."""
136
137 def __init__(self, expected, provided):
138 """Constructor for an UnexpectedMethodError."""
139 super(UnexpectedBodyError, self).__init__(
140 'Expected: [%s] - Provided: [%s]' % (expected, provided))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698