Skip to content

Commit 2d018f1

Browse files
Actually forget that for now
1 parent 8c4bf34 commit 2d018f1

File tree

2 files changed

+25
-11
lines changed

2 files changed

+25
-11
lines changed

Diff for: __init__.py

-1
Original file line numberDiff line numberDiff line change
@@ -1 +0,0 @@
1-

Diff for: aspy.py

+25-10
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,22 @@
33
import json
44
import logging
55
import pprint
6-
from . import exceptions
6+
7+
# Custom Error classes
8+
class ConnectionError(Exception):
9+
pass
10+
class BadRequestType(Exception):
11+
pass
12+
class NotPaginated(Exception):
13+
pass
14+
class AspaceBadRequest(Exception):
15+
pass
16+
class AspaceForbidden(Exception):
17+
pass
18+
class AspaceNotFound(Exception):
19+
pass
20+
class AspaceError(Exception):
21+
pass
722

823
def logResponse(response):
924
logging.error(json.dumps(response.json(), indent=4))
@@ -12,23 +27,23 @@ def checkStatusCodes(response):
1227
if response.status_code == 403:
1328
logging.error("Forbidden -- check your credentials.")
1429
logResponse(response)
15-
raise exceptions.AspaceForbidden
30+
raise AspaceForbidden
1631
elif response.status_code == 400:
1732
logging.error("Bad Request -- I'm sorry Dave, I'm afraid I can't do that.")
1833
logResponse(response)
19-
raise exceptions.AspaceBadRequest
34+
raise AspaceBadRequest
2035
elif response.status_code == 404:
2136
logging.error("Not Found.")
22-
raise exceptions.AspaceNotFound
37+
raise AspaceNotFound
2338
elif response.status_code == 500:
2439
logging.error("500 Internal Server Error")
25-
raise exceptions.AspaceError
40+
raise AspaceError
2641
elif response.status_code == 200:
2742
return response.json()
2843
else:
2944
logging.error(str(response.status_code))
3045
logResponse(response)
31-
raise exceptions.AspaceError
46+
raise AspaceError
3247

3348
def _unionRequestData(defaultData, kwargs):
3449
"""Merge default request data and any data passed to the method into one
@@ -87,11 +102,11 @@ def _request(self, path, type, data):
87102
elif type == "get":
88103
r = self.session.get(self._getHost() + path, data = data)
89104
else:
90-
raise exceptions.BadRequestType
105+
raise BadRequestType
91106

92107
except requests.exceptions.ConnectionError:
93108
logging.error('Unable to connect to ArchivesSpace. Check the host information.')
94-
raise exceptions.ConnectionError
109+
raise ConnectionError
95110
else:
96111
jsonResponse = checkStatusCodes(r)
97112
return jsonResponse
@@ -161,7 +176,7 @@ def pagedRequestGet(self, path, **kwargs):
161176
try:
162177
fullSet = response['results']
163178
except Exception:
164-
raise exceptions.NotPaginated
179+
raise NotPaginated
165180
# Then determine how many pages there are
166181
numPages = response['last_page']
167182
# Loop through all the pages and append them to a single big data structure
@@ -179,7 +194,7 @@ def allIdsRequestGet(self, path):
179194
if all(isinstance(item, int) for item in response):
180195
return response
181196
else:
182-
raise exceptions.NotPaginated
197+
raise NotPaginated
183198

184199
if __name__ == "__main__":
185200
import doctest

0 commit comments

Comments
 (0)