From 260501cdfb60573fd963147cc762d1b6ab1733f4 Mon Sep 17 00:00:00 2001 From: Nikita Zyl Date: Thu, 10 Feb 2022 10:26:54 +0300 Subject: [PATCH 1/8] Add short links --- admitad/items/__init__.py | 1 + admitad/items/short_links.py | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 admitad/items/short_links.py diff --git a/admitad/items/__init__.py b/admitad/items/__init__.py index 2fd1467..ce089d6 100644 --- a/admitad/items/__init__.py +++ b/admitad/items/__init__.py @@ -17,3 +17,4 @@ from admitad.items.retag import * from admitad.items.broken_links import * from admitad.items.tickets import * +from admitad.items.short_links import * diff --git a/admitad/items/short_links.py b/admitad/items/short_links.py new file mode 100644 index 0000000..e797a89 --- /dev/null +++ b/admitad/items/short_links.py @@ -0,0 +1,35 @@ +# coding: utf-8 +from __future__ import unicode_literals + +from admitad.items.base import Item + + +__all__ = [ + 'ShortLinks' +] + + +class ShortLinks(Item): + + SCOPE = 'short_links' + + URL = Item.prepare_url('short_links') + SINGLE_URL = Item.prepare_url('shortlink/modify/') + + def get(self, **kwargs): + """ + Args: + link (str) + + """ + filtering = { + 'filter_by': kwargs, + 'available': { + 'link': lambda x: Item.sanitize_string_value(x, 'link', blank=True), + } + } + + return self.transport.get() \ + .set_pagination(**kwargs) \ + .set_filtering(filtering) \ + .request(url=self.URL) From 64dc6674e123f9df62c0c38a503aac7a54616a34 Mon Sep 17 00:00:00 2001 From: Nikita Zyl Date: Thu, 10 Feb 2022 16:09:03 +0300 Subject: [PATCH 2/8] Add short_links --- admitad/items/short_links.py | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/admitad/items/short_links.py b/admitad/items/short_links.py index e797a89..37b5b27 100644 --- a/admitad/items/short_links.py +++ b/admitad/items/short_links.py @@ -13,23 +13,18 @@ class ShortLinks(Item): SCOPE = 'short_links' - URL = Item.prepare_url('short_links') - SINGLE_URL = Item.prepare_url('shortlink/modify/') + URL = Item.prepare_url('shortlink/modify/') - def get(self, **kwargs): + GET_FIELDS = { + 'link': lambda x: Item.sanitize_string_value(x, 'link'), + } + + def post(self, link, **kwargs): """ Args: link (str) """ - filtering = { - 'filter_by': kwargs, - 'available': { - 'link': lambda x: Item.sanitize_string_value(x, 'link', blank=True), - } - } - - return self.transport.get() \ - .set_pagination(**kwargs) \ - .set_filtering(filtering) \ - .request(url=self.URL) + data = Item.sanitize_fields(self.GET_FIELDS, link=link) + + return self.transport.post().set_data(data).request(url=self.URL) From d9c88eb61a74cd4442343fb48e3f77071270cc49 Mon Sep 17 00:00:00 2001 From: Nikita Zyl Date: Thu, 10 Feb 2022 16:13:21 +0300 Subject: [PATCH 3/8] SubID blank true --- admitad/items/deeplinks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admitad/items/deeplinks.py b/admitad/items/deeplinks.py index ecaa49c..eb34eeb 100644 --- a/admitad/items/deeplinks.py +++ b/admitad/items/deeplinks.py @@ -17,7 +17,7 @@ class DeeplinksManage(Item): CREATE_FIELDS = { 'ulp': lambda x: Item.sanitize_string_array(x, 'ulp'), - 'subid': lambda x: Item.sanitize_string_value(x, 'subid', max_length=30), + 'subid': lambda x: Item.sanitize_string_value(x, 'subid', max_length=30, blank=True), # todo: subid[1-4] } From c3e8049f69732a20e8d45da5cfff90a9e1e59b46 Mon Sep 17 00:00:00 2001 From: Dmitry Gavrilenko Date: Tue, 15 Feb 2022 10:57:14 +0100 Subject: [PATCH 4/8] added params for campaigns get --- admitad/items/campaigns.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/admitad/items/campaigns.py b/admitad/items/campaigns.py index 9633c6c..1aa15ce 100644 --- a/admitad/items/campaigns.py +++ b/admitad/items/campaigns.py @@ -83,12 +83,19 @@ def get(self, _id, **kwargs): offset (int) """ + filtering = { + 'filter_by': kwargs, + 'available': { + 'has_tool': lambda x: Item.sanitize_string_array(x, 'has_tool', blank=True), + 'connection_status': lambda x: Item.sanitize_string_value(x, 'connection_status', blank=True), + } + } request_data = { 'url': self.URL, 'website_id': Item.sanitize_id(_id) } - return self.transport.get().set_pagination(**kwargs).request(**request_data) + return self.transport.get().set_pagination(**kwargs).set_filtering(filtering).request(**request_data) def getOne(self, _id, c_id, **kwargs): """ From e56f72e723f9f3a58155c65bf4cb7b7175db12bd Mon Sep 17 00:00:00 2001 From: Dmitry Gavrilenko Date: Thu, 10 Mar 2022 11:25:47 +0100 Subject: [PATCH 5/8] added coupon filters --- admitad/items/coupons.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/admitad/items/coupons.py b/admitad/items/coupons.py index 7f42f23..9eda32f 100644 --- a/admitad/items/coupons.py +++ b/admitad/items/coupons.py @@ -19,6 +19,9 @@ class CouponsBase(Item): 'campaign_category': lambda x: Item.sanitize_integer_array(x, 'campaign_category', blank=True), 'category': lambda x: Item.sanitize_integer_array(x, 'category', blank=True), 'type': lambda x: Item.sanitize_string_value(x, 'type', blank=True), + 'is_exclusive': lambda x: Item.sanitize_bool_value(x, 'is_exclusive', blank=True), + 'is_unique': lambda x: Item.sanitize_bool_value(x, 'is_unique', blank=True), + 'is_planned': lambda x: Item.sanitize_bool_value(x, 'is_planned', blank=True), } From 81c79c0f3552b9bbdfbd8e791355249f42dac799 Mon Sep 17 00:00:00 2001 From: Dmitry Gavrilenko Date: Thu, 10 Mar 2022 13:13:53 +0100 Subject: [PATCH 6/8] added filters #DEVAN-3391 --- admitad/items/coupons.py | 1 + 1 file changed, 1 insertion(+) diff --git a/admitad/items/coupons.py b/admitad/items/coupons.py index 9eda32f..7286c20 100644 --- a/admitad/items/coupons.py +++ b/admitad/items/coupons.py @@ -22,6 +22,7 @@ class CouponsBase(Item): 'is_exclusive': lambda x: Item.sanitize_bool_value(x, 'is_exclusive', blank=True), 'is_unique': lambda x: Item.sanitize_bool_value(x, 'is_unique', blank=True), 'is_planned': lambda x: Item.sanitize_bool_value(x, 'is_planned', blank=True), + 'search': lambda x: Item.sanitize_string_value(x, 'search', blank=True), } From 9eb7bbe0a40413dc01163f5e0ebaaf91e7da1a39 Mon Sep 17 00:00:00 2001 From: Dmitry Gavrilenko Date: Thu, 10 Mar 2022 13:15:21 +0100 Subject: [PATCH 7/8] added filters #DEVAN-3391 --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 5c1e859..714e778 100644 --- a/setup.py +++ b/setup.py @@ -3,13 +3,13 @@ setup( name="admitad", packages=['admitad', 'admitad.items'], - version='1.2.0', + version='1.3.0', author='Admitad Dev Bot', author_email='dev@admitad.com', description='A Python wrapper around the Admitad API', license='MIT', url='https://github.com/admitad/admitad-python-api', - download_url='https://github.com/admitad/admitad-python-api/tarball/1.2.0', + download_url='https://github.com/admitad/admitad-python-api/tarball/1.3.0', keywords=['admitad'], install_requires=['requests>=2.0', 'future'], tests_require=['nose2', 'responses'], From e8fc85c3f856e569dde7942f69f2a3a6de36881c Mon Sep 17 00:00:00 2001 From: Dmitry Gavrilenko Date: Mon, 14 Mar 2022 18:13:44 +0100 Subject: [PATCH 8/8] added is_personal filter --- admitad/items/coupons.py | 1 + 1 file changed, 1 insertion(+) diff --git a/admitad/items/coupons.py b/admitad/items/coupons.py index 7286c20..fc5bbbc 100644 --- a/admitad/items/coupons.py +++ b/admitad/items/coupons.py @@ -21,6 +21,7 @@ class CouponsBase(Item): 'type': lambda x: Item.sanitize_string_value(x, 'type', blank=True), 'is_exclusive': lambda x: Item.sanitize_bool_value(x, 'is_exclusive', blank=True), 'is_unique': lambda x: Item.sanitize_bool_value(x, 'is_unique', blank=True), + 'is_personal': lambda x: Item.sanitize_bool_value(x, 'is_personal', blank=True), 'is_planned': lambda x: Item.sanitize_bool_value(x, 'is_planned', blank=True), 'search': lambda x: Item.sanitize_string_value(x, 'search', blank=True), }