Skip to content

Commit ac2a052

Browse files
committed
Add docstrings for proxy module
1 parent dc76cb7 commit ac2a052

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

scrapinghub/client/proxy.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,36 +55,70 @@ def get(self, _key, **params):
5555
return self._origin.get(_key, **params)
5656

5757
def write(self, item):
58+
"""Write new element to collection."""
5859
try:
5960
return self._origin.write(item)
6061
except _ValueTooLarge as exc:
6162
raise ValueTooLarge(str(exc))
6263

6364
def iter(self, _key=None, **params):
65+
"""Iterate over elements in collection.
66+
67+
:return: a generator object over a list of element dictionaries.
68+
:rtype: :class:`types.GeneratorType[dict]`
69+
"""
70+
# TODO describe allowable params
6471
params = self._modify_iter_params(params)
6572
return self._origin.list(_key, **params)
6673

6774
def flush(self):
75+
"""Flush data from writer threads."""
6876
self._origin.flush()
6977

7078
def stats(self):
79+
"""Get resource stats.
80+
81+
:return: a dictionary with stats data.
82+
:rtype: :class:`dict`
83+
"""
7184
return self._origin.stats()
7285

7386
def close(self, block=True):
87+
"""Close writers one-by-one."""
7488
self._origin.close(block)
7589

7690

7791
class _DownloadableProxyMixin(object):
7892

7993
def iter(self, _path=None, requests_params=None, **apiparams):
94+
"""A general method to iterate through elements.
95+
96+
:return: an iterator over elements list.
97+
:rtype: :class:`collections.Iterable`
98+
"""
99+
# TODO describe allowable params
80100
apiparams = self._modify_iter_params(apiparams)
81101
return self._origin.iter_values(_path, requests_params, **apiparams)
82102

83103
def iter_raw_json(self, _path=None, requests_params=None, **apiparams):
104+
"""A method to iterate through raw json-packed elements.
105+
Can be convenient if data is needed in raw json format.
106+
107+
:return: an iterator over elements list packed with json.
108+
:rtype: :class:`collections.Iterable[str]`
109+
"""
110+
# TODO describe allowable params
84111
apiparams = self._modify_iter_params(apiparams)
85112
return self._origin.iter_json(_path, requests_params, **apiparams)
86113

87114
def iter_raw_msgpack(self, _path=None, requests_params=None, **apiparams):
115+
"""A method to iterate through raw msgpack-ed elements.
116+
Can be convenient if data is needed in same msgpack format.
117+
118+
:return: an iterator over elements list packed with msgpack.
119+
:rtype: :class:`collections.Iterable[bytes]`
120+
"""
121+
# TODO describe allowable params
88122
apiparams = self._modify_iter_params(apiparams)
89123
return self._origin.iter_msgpack(_path, requests_params, **apiparams)
90124

0 commit comments

Comments
 (0)