We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 89788fb commit e322609Copy full SHA for e322609
gcloud/storage/exceptions.py
@@ -164,7 +164,16 @@ def make_exception(response, content):
164
return error
165
166
167
-for name, value in globals().items():
168
- code = getattr(value, 'code', None)
+def _walk_subclasses(klass):
+ """Recursively walk subclass tree."""
169
+ for sub in klass.__subclasses__():
170
+ yield sub
171
+ for subsub in _walk_subclasses(sub):
172
+ yield subsub
173
+
174
175
+# Build the code->exception class mapping.
176
+for eklass in _walk_subclasses(StorageError):
177
+ code = getattr(eklass, 'code', None)
178
if code is not None:
- _HTTP_CODE_TO_EXCEPTION[code] = value
179
+ _HTTP_CODE_TO_EXCEPTION[code] = eklass
0 commit comments