Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

# -*- coding: utf-8 -*- 

""" 

Classes for incoming engagement webhook events 

 

ClickEvent 

OpenEvent 

SpamReportEvent 

UnsubscribeEvent 

GroupUnsubscribeEvent 

GroupResubscribeEvent 

""" 

 

from .base import BaseWebhookEvent 

 

 

class BaseEngagementEvent(BaseWebhookEvent): 

    """ 

    Basic interface shared for all engagement events 

 

    - click 

    - open 

    - spamreport 

    - unsubscribe 

    """ 

    def __init__(self, request, data): 

        super(BaseEngagementEvent, self).__init__(request, data) 

        self.useragent = self.data['useragent'] 

 

 

class ClickEvent(BaseEngagementEvent): 

    def __init__(self, request, data): 

        super(ClickEvent, self).__init__(request, data) 

        self.url = self.data['url'] 

 

 

class OpenEvent(BaseEngagementEvent): 

    pass 

 

 

class SpamReportEvent(BaseEngagementEvent): 

    pass 

 

 

class UnsubscribeEvent(BaseEngagementEvent): 

    pass 

 

 

class GroupUnsubscribeEvent(BaseEngagementEvent): 

    def __init__(self, request, data): 

        super(GroupUnsubscribeEvent, self).__init__(request, data) 

        self.asm_group_id = self.data['asm_group_id'] 

 

 

class GroupResubscribeEvent(BaseEngagementEvent): 

    def __init__(self, request, data): 

        super(GroupResubscribeEvent, self).__init__(request, data) 

        self.asm_group_id = self.data['asm_group_id']