|
| 1 | +# -*- coding: utf-8 -*- |
| 2 | +from algoliasearch.helpers import AlgoliaException |
| 3 | +from .helpers import safe |
| 4 | + |
| 5 | + |
| 6 | +class Analytics: |
| 7 | + |
| 8 | + def __init__(self, client, _transport): |
| 9 | + self.client = client |
| 10 | + self._transport = _transport |
| 11 | + self._transport.read_hosts = ['analytics.algolia.com'] |
| 12 | + self._transport.write_hosts = ['analytics.algolia.com'] |
| 13 | + |
| 14 | + def get_ab_tests(self, args=None): |
| 15 | + params = {'offest': 0, 'limit': 10} |
| 16 | + if args is not None: |
| 17 | + params.update(args) |
| 18 | + |
| 19 | + return self._req('/2/abtests', 'GET', params) |
| 20 | + |
| 21 | + def add_ab_test(self, ab_test): |
| 22 | + return self._req('/2/abtests', 'POST', None, ab_test) |
| 23 | + |
| 24 | + def get_ab_test(self, ab_test_id): |
| 25 | + if ab_test_id == '': |
| 26 | + raise AlgoliaException('ab_test_id cannot be empty') |
| 27 | + |
| 28 | + return self._req('/2/abtests/%s' % safe(ab_test_id), 'GET') |
| 29 | + |
| 30 | + def stop_ab_test(self, ab_test_id): |
| 31 | + if ab_test_id == '': |
| 32 | + raise AlgoliaException('ab_test_id cannot be empty') |
| 33 | + |
| 34 | + return self._req('/2/abtests/%s/stop' % safe(ab_test_id), 'POST') |
| 35 | + |
| 36 | + def delete_ab_test(self, ab_test_id): |
| 37 | + if ab_test_id == '': |
| 38 | + raise AlgoliaException('ab_test_id cannot be empty') |
| 39 | + |
| 40 | + return self._req('/2/abtests/%s' % safe(ab_test_id), 'DELETE') |
| 41 | + |
| 42 | + def wait_task(self, index_name, task_id, time_before_retry=100, request_options=None): |
| 43 | + return self.client.wait_task(index_name, task_id, time_before_retry, request_options) |
| 44 | + |
| 45 | + def _req(self, path, method, params=None, data=None): |
| 46 | + return self._transport.req(False, path, method, params, data) |
0 commit comments