Skip to content

Commit 2685256

Browse files
author
Barkholenka Raman
committed
added LostOrders, LostOrdersManager
1 parent 801cea9 commit 2685256

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

pyadmitad/items/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@
1313
from pyadmitad.items.news import *
1414
from pyadmitad.items.deeplinks import *
1515
from pyadmitad.items.links import *
16+
from pyadmitad.items.lost_orders import *

pyadmitad/items/lost_orders.py

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# coding: utf-8
2+
3+
from pyadmitad.items.base import Item
4+
5+
6+
__all__ = [
7+
'LostOrders',
8+
'LostOrdersManager',
9+
]
10+
11+
12+
class LostOrders(Item):
13+
14+
SCOPE = 'lost_orders'
15+
16+
URL = Item.prepare_url('lost_orders')
17+
SINGLE_URL = Item.prepare_url('lost_orders/%(lost_order_id)s')
18+
19+
def get(self, **kwargs):
20+
kwargs['url'] = self.URL
21+
return self.transport.get().set_pagination().request(**kwargs)
22+
23+
def getOne(self, lost_order_id, **kwargs):
24+
kwargs['url'] = self.SINGLE_URL
25+
kwargs['lost_order_id'] = self.sanitize_id(lost_order_id)
26+
return self.transport.get().request(**kwargs)
27+
28+
29+
class LostOrdersManager(Item):
30+
31+
SCOPE = 'manage_lost_orders'
32+
33+
DELETE_URL = Item.prepare_url('lost_orders/%(lost_order_id)s/decline')
34+
CREATE_URL = Item.prepare_url('lost_orders/create')
35+
36+
CREATE_FIELDS = {
37+
'advcampaign': lambda x: Item.sanitize_integer_value(x, 'advcampaign'),
38+
'website': lambda x: Item.sanitize_integer_value(x, 'website'),
39+
'order_id': lambda x: Item.sanitize_string_value(x, 'order_id'),
40+
'order_date': lambda x: Item.sanitize_string_value(x, 'order_date'),
41+
'order_price': lambda x: Item.sanitize_float_value(x, 'order_price'),
42+
'comment': lambda x: Item.sanitize_string_value(x, 'comment'),
43+
}
44+
45+
def delete(self, lost_order_id):
46+
data = {
47+
'url': self.DELETE_URL,
48+
'lost_order_id': self.sanitize_id(lost_order_id),
49+
}
50+
return self.transport.set_method('DELETE').request(**data)
51+
52+
def create(self, attachment, **kwargs):
53+
data = self.sanitize_fields(self.CREATE_FIELDS, **kwargs)
54+
kwargs['url'] = self.CREATE_URL
55+
files = {
56+
'attachment': attachment,
57+
}
58+
return self.transport.post().set_data(data).set_files(files).request(**kwargs)

0 commit comments

Comments
 (0)