Skip to content
This repository was archived by the owner on Mar 23, 2026. It is now read-only.

Commit d49134f

Browse files
Merge pull request #9 from uc-cdis/feat/get-with-params
feat(get-with-params): add method to IndexClient
2 parents 9235c11 + 8412068 commit d49134f

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

indexclient/client.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,23 @@ def get(self, did):
4848
raise e
4949
return Document(self, did)
5050

51+
def get_with_params(self, params=None):
52+
"""
53+
Return a document object corresponding to the supplied parameters, such
54+
as ``{'hashes': {'md5': '...', 'size': '...'}}``.
55+
"""
56+
try:
57+
response = self._get("index", params=params)
58+
except requests.HTTPError as e:
59+
if e.response.status_code == 404:
60+
return None
61+
else:
62+
raise e
63+
if not response.json()['ids']:
64+
return None
65+
did = response.json()['ids'][0]
66+
return Document(self, did)
67+
5168
def list(self, limit=float("inf"), start=None, page_size=100):
5269
""" Returns a generator of document objects. """
5370
yielded = 0

0 commit comments

Comments
 (0)