From cde242118b3b6d293ca86839e2fa299c0bee6ec3 Mon Sep 17 00:00:00 2001 From: Alex Lushpai Date: Sun, 22 Apr 2018 21:39:27 +0300 Subject: [PATCH] fix post methods bug --- retailcrm/versions/base.py | 8 ++++---- retailcrm/versions/v4.py | 1 - retailcrm/versions/v5.py | 7 ++++--- setup.py | 6 +++--- tests/v5_tests.py | 38 +++++++++++++++++++++++++++++++++++--- 5 files changed, 46 insertions(+), 14 deletions(-) diff --git a/retailcrm/versions/base.py b/retailcrm/versions/base.py index 42ddd81..fa1d33c 100644 --- a/retailcrm/versions/base.py +++ b/retailcrm/versions/base.py @@ -27,19 +27,19 @@ class Base(object): :return: Response """ base_url = self.api_url + '/' + self.api_version if version else self.api_url - requests_url = base_url + url if not self.parameters else base_url + \ - url + "?" + query_builder(self.parameters) + requests_url = base_url + url if not self.parameters else base_url + url + "?" + query_builder(self.parameters) response = requests.get(requests_url, headers={ 'X-API-KEY': self.api_key}) return Response(response.status_code, response.json()) - def post(self, url): + def post(self, url, version=True): """ Post request :return: Response """ - requests_url = self.api_url + url + base_url = self.api_url + '/' + self.api_version if version else self.api_url + requests_url = base_url + url response = requests.post(requests_url, data=self.parameters, headers={ 'X-API-KEY': self.api_key}) diff --git a/retailcrm/versions/v4.py b/retailcrm/versions/v4.py index c9a7d53..f247b4f 100644 --- a/retailcrm/versions/v4.py +++ b/retailcrm/versions/v4.py @@ -312,7 +312,6 @@ class Client(Base): def pack_edit(self, pack): """ :param pack: - :param uid: :return: Response """ self.parameters['pack'] = json.dumps(pack) diff --git a/retailcrm/versions/v5.py b/retailcrm/versions/v5.py index 2bca9c2..d5452db 100644 --- a/retailcrm/versions/v5.py +++ b/retailcrm/versions/v5.py @@ -170,7 +170,7 @@ class Client(Base): code = str(field['code']) self.parameters['customField'] = json.dumps(field) - return self.post('/custom-fields/' + entity + '/' + code + '/create') + return self.post('/custom-fields/' + entity + '/' + code + '/create') def customers(self, filters=None, limit=20, page=1): """ @@ -603,7 +603,6 @@ class Client(Base): def pack_edit(self, pack): """ :param pack: - :param uid: :return: Response """ self.parameters['pack'] = json.dumps(pack) @@ -1072,4 +1071,6 @@ class Client(Base): :return: Response """ - return self.post('/users/' + str(uid)) + '/' + status + self.parameters['status'] = status + + return self.post('/users/' + str(uid) + '/status') diff --git a/setup.py b/setup.py index ca9f3df..6d42008 100644 --- a/setup.py +++ b/setup.py @@ -8,14 +8,14 @@ import os from setuptools import setup -def read(fname): +def read(filename): """Read readme for long description""" - return open(os.path.join(os.path.dirname(__file__), fname)).read() + return open(os.path.join(os.path.dirname(__file__), filename)).read() setup( name='retailcrm', - version='5.0.2', + version='5.0.3', description='retailCRM API client', long_description=read('README'), url='https://github.com/retailcrm/api-client-python', diff --git a/tests/v5_tests.py b/tests/v5_tests.py index c8fe02f..ce27af9 100644 --- a/tests/v5_tests.py +++ b/tests/v5_tests.py @@ -27,7 +27,7 @@ class TestVersion5(unittest.TestCase): V5 Test wrong api url """ client = retailcrm.v5( - 'https://epoqwieqwpoieqpwoeiqpwoeiq.retailcrm.ru', '98sdf9sj8fsd9fjs9dfjs98') + 'https://epoqwieqwpoieqpwoeiqpwoeiq.retailcrm.ru', '98sdf9sj8fsd9fjs9answer98') response = client.statistic_update() self.assertTrue(response.is_successful(), False) @@ -37,8 +37,7 @@ class TestVersion5(unittest.TestCase): """ V5 Test wrong api key """ - client = retailcrm.v5(os.getenv('RETAILCRM_URL'), - '98sdf9sj8fsd9fjs9dfjs98') + client = retailcrm.v5(os.getenv('RETAILCRM_URL'), '98sdf9sj8fsd9fjs9answer98') response = client.statistic_update() self.assertEqual(response.get_error_msg(), 'Wrong "apiKey" value.') @@ -67,3 +66,36 @@ class TestVersion5(unittest.TestCase): response = self.client.api_credentials() self.assertTrue(response.is_successful(), True) + + # def test_telephony_calls_upload(self): + # """ + # V5 Test telephony calls upload + # """ + # + # calls = [ + # { + # 'date': '2018-04-20 22:10:00', + # 'type': 'in', + # 'phone': '+79999999999', + # 'userId': os.getenv('RETAILCRM_USER'), + # 'result': 'answered' + # }, + # { + # 'date': '2018-04-20 22:10:00', + # 'type': 'out', + # 'phone': '+79999999999', + # 'userId': os.getenv('RETAILCRM_USER'), + # 'result': 'answered' + # } + # ] + # + # response = self.client.telephony_calls_upload(calls) + # + # self.assertTrue(response.is_successful(), True) + # self.assertTrue(response.get_status_code() < 400, True) + + def test_set_user_status(self): + response = self.client.user_status(os.getenv('RETAILCRM_USER'), 'dinner') + + self.assertTrue(response.is_successful(), True) + self.assertTrue(response.get_status_code() < 400, True)