Completed
Push — master ( 2506d1...4fbfcc )
by Steffen
02:38
created

IHistory.get_recent_trade_offers()   A

Complexity

Conditions 2

Size

Total Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 2
c 1
b 0
f 1
dl 0
loc 15
rs 9.4285
1
#!/usr/bin/python
2
# -*- coding: utf-8 -*-
3
from kuon.api_response import APIResponse
4
from kuon.bitskins import BitSkins
5
from kuon.common import *
6
7
8
class IHistory(BitSkins):
9
    """Implementation of the API methods related to the history of the user on BitSkins
10
11
    common not self explanatory keys:
12
        app id:
13
            The Steam AppID of the game which owns this item (e.g. 730 for CS:GO, 440 for TF2, 570 for Dota 2)
14
    """
15
16
    def __init__(self, *args, **kwargs):
17
        """Initializing function"""
18
        super().__init__(*args, **kwargs)
19
20
    def get_money_events(self, page=None) -> APIResponse:
21
        """GetMoneyEvents v1 implementation
22
        https://bitskins.com/api/#get_money_events
23
24
        :param page:
25
        :return:
26
        """
27
        api_url = "https://bitskins.com/api/v1/get_money_events/"
28
29
        payload = {}
30
31
        if page:
32
            payload['page'] = page
33
34
        return self.api_request(api_url=api_url, params=payload)
35
36
    def get_buy_history(self, app_id=CommonSteamGames.APP_ID_CSGO, page=None) -> APIResponse:
37
        """GetBuyHistory v1 implementation
38
        https://bitskins.com/api/#get_buy_history
39
40
        :param app_id:
41
        :param page:
42
        :return:
43
        """
44
        api_url = "https://bitskins.com/api/v1/get_buy_history/"
45
46
        payload = {
47
            'app_id': app_id
48
        }
49
50
        if page:
51
            payload['page'] = int(page)
52
53
        return self.api_request(api_url=api_url, params=payload)
54
55
    def get_sell_history(self, app_id=CommonSteamGames.APP_ID_CSGO, page=None) -> APIResponse:
56
        """GetSellHistory v1 implementation
57
        https://bitskins.com/api/#get_sell_history
58
59
        :param app_id:
60
        :param page:
61
        :return:
62
        """
63
        api_url = "https://bitskins.com/api/v1/get_sell_history/"
64
65
        payload = {
66
            'app_id': app_id
67
        }
68
69
        if page:
70
            payload['page'] = int(page)
71
72
        return self.api_request(api_url=api_url, params=payload)
73
74
    def get_item_history(self, app_id=CommonSteamGames.APP_ID_CSGO, page=None, names="", delimiter="",
75
                         per_page=None) -> APIResponse:
76
        """GetItemHistory v1 implementation
77
        https://bitskins.com/api/#get_item_history
78
79
        :param app_id:
80
        :param page:
81
        :param names:
82
        :param delimiter:
83
        :param per_page:
84
        :return:
85
        """
86
        api_url = "https://bitskins.com/api/v1/get_item_history/"
87
88
        payload = {
89
            'app_id': app_id
90
        }
91
92
        if page:
93
            payload['page'] = page
94
        if names:
95
            payload['names'] = names
96
        if delimiter:
97
            payload['delimiter'] = delimiter
98
        if per_page:
99
            payload['per_page'] = per_page
100
101
        return self.api_request(api_url=api_url, params=payload)
102
103
    def get_trade_details(self, trade_id: str, trade_token: str) -> APIResponse:
104
        """GetTradeDetails v1 implementation
105
        https://bitskins.com/api/#get_trade_details
106
107
        :param trade_id:
108
        :param trade_token:
109
        :return:
110
        """
111
        api_url = "https://bitskins.com/api/v1/get_trade_details/"
112
113
        payload = {
114
            "trade_id": trade_id,
115
            "trade_token": trade_token
116
        }
117
118
        return self.api_request(api_url=api_url, params=payload)
119
120
    def get_recent_trade_offers(self, active_only=False) -> APIResponse:
121
        """GetRecentTradeOffers v1 implementation
122
        https://bitskins.com/api/#get_recent_trade_offers
123
124
        :param active_only:
125
        :return:
126
        """
127
        api_url = "https://bitskins.com/api/v1/get_recent_trade_offers/"
128
129
        payload = {}
130
131
        if active_only:
132
            payload['active_only'] = 'true'
133
134
        return self.api_request(api_url=api_url, params=payload)
135