-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrequest_helper.py
More file actions
57 lines (45 loc) · 1.42 KB
/
Copy pathrequest_helper.py
File metadata and controls
57 lines (45 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import copy
from clarifai.client import ApiBadRequestError
class CuratorApiRequestHelper(object):
"""Helper to manage Curator API requests."""
def __init__(self, collection_id=None, user_id=None):
"""Initialize for a collection.
Args:
collection_id: Identifier of the default collection to make requests about.
user_id:
"""
self.collection_id = collection_id
self.user_id = user_id
def base_request(self):
request = {
'collection_id': self.collection_id
}
if self.user_id:
request['user_id'] = self.user_id
return request
def index_request(self):
request = self.base_request()
return request
def index_request_for_put(self, settings, properties=None):
num_docs = settings.get('max_num_docs')
if not num_docs:
raise ApiBadRequestError('Missing required param: settings.max_num_docs')
collection = {
'id': self.collection_id,
'settings': settings
}
if properties:
collection['properties'] = properties
request = self.base_request()
request['collection'] = collection
return request
def document_request(self, docid):
request = self.base_request()
request['document'] = {'docid': docid}
return request
def document_request_for_put(self, doc, options=None):
request = self.base_request()
if options:
request['options'] = options
request['document'] = doc
return request