コード例 #1
0
ファイル: test_base.py プロジェクト: zavod/admitad-python-api
    def test_sanitize_long_date(self):
        self.assertEqual(Item.sanitize_long_date(None, '', True), None)
        self.assertEqual(Item.sanitize_long_date(datetime(2020, 1, 1, 11, 20, 36), '', False), '01.01.2020 11:20:36')
        self.assertEqual(Item.sanitize_long_date('01.01.2020 11:20:36', '', False), '01.01.2020 11:20:36')

        with self.assertRaises(ValueError):
            Item.sanitize_long_date(None, '', False)
            Item.sanitize_long_date('01/01/2020', '', True)
            Item.sanitize_long_date('01.01.2020 11/22/22', '', False)
コード例 #2
0
class StatisticActions(StatisticBase):
    """
    Statistics by actions

    """

    SCOPE = 'statistics'

    ORDERING = ('action', 'banner', 'banner_id', 'campaign', 'cart',
                'click_date', 'conv_time', 'datetime', 'payment', 'status',
                'subid', 'subid1', 'subid2', 'subid3', 'subid4', 'website')

    FILTERING = {
        'date_start':
        lambda x: Item.sanitize_date(x, 'date_start', blank=True),
        'date_end':
        lambda x: Item.sanitize_date(x, 'date_end', blank=True),
        'closing_date_start':
        lambda x: Item.sanitize_date(x, 'closing_date_start', blank=True),
        'closing_date_end':
        lambda x: Item.sanitize_date(x, 'closing_date_end', blank=True),
        'status_updated_start':
        lambda x: Item.sanitize_long_date(
            x, 'status_updated_start', blank=True),
        'status_updated_end':
        lambda x: Item.sanitize_long_date(x, 'status_updated_end', blank=True),
        'website':
        lambda x: Item.sanitize_integer_value(x, 'website', blank=True),
        'campaign':
        lambda x: Item.sanitize_integer_value(x, 'campaign', blank=True),
        'subid':
        lambda x: StatisticBase.check_sub_id(x),
        'subid1':
        lambda x: StatisticBase.check_sub_id(x),
        'subid2':
        lambda x: StatisticBase.check_sub_id(x),
        'subid3':
        lambda x: StatisticBase.check_sub_id(x),
        'subid4':
        lambda x: StatisticBase.check_sub_id(x),
        'source':
        lambda x: StatisticBase.check_sources(x),
        'status':
        lambda x: StatisticBase.check_status(x),
        'keyword':
        lambda x: Item.sanitize_string_value(x, 'keyword', blank=True),
        'action':
        lambda x: Item.sanitize_string_value(x, 'action', blank=True),
        'action_type':
        lambda x: StatisticBase.check_actions_type(x),
        'action_id':
        lambda x: Item.sanitize_integer_value(x, 'action_id', blank=True),
    }

    URL = Item.prepare_url('statistics/actions')

    def get(self, **kwargs):
        """
        Args:
            date_start (date)
            date_end (date)
            closing_date_start (date)
            closing_date_end (date)
            status_updated_start (date)
            status_updated_end (date)
            website (int)
            campaign (int)
            subid (str)
            subid1 (str)
            subid2 (str)
            subid3 (str)
            subid4 (str)
            source (str)
            status (int)
            keyword (str)
            action (str)
            action_type (str)
            action_id (int)
            limit (int)
            offset (int)
            order_by (list of int)

        """
        return super(StatisticActions, self).get(self.URL, **kwargs)