~homeworkprod/byceps

ref: 87b31ba68669551f699c7d12cf18401663b2d043 byceps/byceps/announce/events.py -rw-r--r-- 4.2 KiB
87b31ba6 — Jochen Kupperschmidt Fix type errors 1 year, 1 month ago
                                                                                
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
"""
byceps.announce.events
~~~~~~~~~~~~~~~~~~~~~~

Mapping between event types and names.

:Copyright: 2006-2021 Jochen Kupperschmidt
:License: Revised BSD (see `LICENSE` file for details)
"""

from ..events.auth import UserLoggedIn
from ..events.base import _BaseEvent
from ..events.board import (
    BoardPostingCreated,
    BoardPostingHidden,
    BoardPostingUnhidden,
    BoardTopicCreated,
    BoardTopicHidden,
    BoardTopicLocked,
    BoardTopicMoved,
    BoardTopicPinned,
    BoardTopicUnhidden,
    BoardTopicUnlocked,
    BoardTopicUnpinned,
)
from ..events.news import NewsItemPublished
from ..events.shop import ShopOrderCanceled, ShopOrderPaid, ShopOrderPlaced
from ..events.snippet import SnippetCreated, SnippetDeleted, SnippetUpdated
from ..events.ticketing import TicketCheckedIn, TicketsSold
from ..events.tourney import (
    TourneyStarted,
    TourneyPaused,
    TourneyCanceled,
    TourneyFinished,
    TourneyMatchReady,
    TourneyMatchReset,
    TourneyMatchScoreSubmitted,
    TourneyMatchScoreConfirmed,
    TourneyMatchScoreRandomized,
    TourneyParticipantReady,
    TourneyParticipantEliminated,
    TourneyParticipantWarned,
    TourneyParticipantDisqualified,
)
from ..events.user import (
    UserAccountCreated,
    UserAccountDeleted,
    UserAccountSuspended,
    UserAccountUnsuspended,
    UserDetailsUpdated,
    UserEmailAddressInvalidated,
    UserScreenNameChanged,
)
from ..events.user_badge import UserBadgeAwarded


EVENT_TYPES_TO_NAMES = {
    UserLoggedIn:                   'user-logged-in',
    BoardTopicCreated:              'board-topic-created',
    BoardTopicHidden:               'board-topic-hidden',
    BoardTopicLocked:               'board-topic-locked',
    BoardTopicMoved:                'board-topic-moved',
    BoardTopicPinned:               'board-topic-pinned',
    BoardTopicUnhidden:             'board-topic-unhidden',
    BoardTopicUnlocked:             'board-topic-unlocked',
    BoardTopicUnpinned:             'board-topic-unpinned',
    BoardPostingCreated:            'board-posting-created',
    BoardPostingHidden:             'board-posting-hidden',
    BoardPostingUnhidden:           'board-posting-unhidden',
    NewsItemPublished:              'news-item-published',
    ShopOrderCanceled:              'shop-order-canceled',
    ShopOrderPaid:                  'shop-order-paid',
    ShopOrderPlaced:                'shop-order-placed',
    SnippetCreated:                 'snippet-created',
    SnippetDeleted:                 'snippet-deleted',
    SnippetUpdated:                 'snippet-updated',
    TicketCheckedIn:                'ticket-checked-in',
    TicketsSold:                    'tickets-sold',
    TourneyStarted:                 'tourney-started',
    TourneyPaused:                  'tourney-paused',
    TourneyCanceled:                'tourney-canceled',
    TourneyFinished:                'tourney-finished',
    TourneyMatchReady:              'tourney-match-ready',
    TourneyMatchReset:              'tourney-match-reset',
    TourneyMatchScoreSubmitted:     'tourney-match-score-submitted',
    TourneyMatchScoreConfirmed:     'tourney-match-score-confirmed',
    TourneyMatchScoreRandomized:    'tourney-match-score-randomized',
    TourneyParticipantReady:        'tourney-participant-ready',
    TourneyParticipantEliminated:   'tourney-participant-eliminated',
    TourneyParticipantWarned:       'tourney-participant-warned',
    TourneyParticipantDisqualified: 'tourney-participant-disqualified',
    UserAccountCreated:             'user-account-created',
    UserAccountDeleted:             'user-account-deleted',
    UserAccountSuspended:           'user-account-suspended',
    UserAccountUnsuspended:         'user-account-unsuspended',
    UserDetailsUpdated:             'user-details-updated',
    UserEmailAddressInvalidated:    'user-email-address-invalidated',
    UserScreenNameChanged:          'user-screen-name-changed',
    UserBadgeAwarded:               'user-badge-awarded',
}


def get_name_for_event(event: _BaseEvent) -> str:
    """Return the name for the event type.

    Raise exception if no name is defined for the event type.
    """
    event_type = type(event)
    return EVENT_TYPES_TO_NAMES[event_type]