1
1
import json
2
2
from dataclasses import dataclass , field
3
3
from datetime import datetime
4
- from typing import Any , Dict , Optional , Union
4
+ from typing import Any , Optional , Union
5
5
6
6
from ..exceptions import (
7
7
LiveActivityAttributesIsNotJSONSerializable ,
@@ -27,7 +27,7 @@ class Payload:
27
27
interruption_level : Optional [InterruptionLevel ] = field (default = None )
28
28
relevance_score : Optional [float ] = field (default = None )
29
29
filter_criteria : Optional [str ] = field (default = None )
30
- custom : Optional [Dict [str , Any ]] = field (default = None )
30
+ custom : Optional [dict [str , Any ]] = field (default = None )
31
31
32
32
def __post_init__ (self ):
33
33
if self .relevance_score :
@@ -39,8 +39,8 @@ def _validate_relevance_score(self):
39
39
else :
40
40
raise RelevanceScoreOutOfRangeException (relevance_score = self .relevance_score )
41
41
42
- def dict (self ) -> Dict [str , Any ]:
43
- aps : Dict [str , Any ] = {
42
+ def dict (self ) -> dict [str , Any ]:
43
+ aps : dict [str , Any ] = {
44
44
"alert" : self .alert .dict () if isinstance (self .alert , PayloadAlert ) else self .alert ,
45
45
"badge" : self .badge ,
46
46
"sound" : self .sound ,
@@ -70,19 +70,19 @@ def dict(self) -> Dict[str, Any]:
70
70
class LiveActivityPayload (Payload ):
71
71
timestamp : datetime = field (default_factory = datetime .now )
72
72
event : LiveActivityEvent = field (default = LiveActivityEvent .UPDATE )
73
- content_state : Dict [str , Any ] = field (default_factory = dict )
73
+ content_state : dict [str , Any ] = field (default_factory = dict )
74
74
stale_date : Optional [datetime ] = field (default = None )
75
75
dismissal_date : Optional [datetime ] = field (default = None )
76
76
attributes_type : Optional [str ] = field (default = None )
77
- attributes : Optional [Dict [str , Any ]] = field (default = None )
77
+ attributes : Optional [dict [str , Any ]] = field (default = None )
78
78
79
79
def __post_init__ (self ):
80
80
if self .event == LiveActivityEvent .START :
81
81
self ._validate_event_is_start ()
82
82
try :
83
83
_ = json .dumps (self .content_state )
84
- except TypeError :
85
- raise LiveActivityContentStateIsNotJSONSerializable ()
84
+ except TypeError as e :
85
+ raise LiveActivityContentStateIsNotJSONSerializable () from e
86
86
super ().__post_init__ ()
87
87
88
88
def _validate_relevance_score (self ):
@@ -96,12 +96,12 @@ def _validate_event_is_start(self):
96
96
)
97
97
try :
98
98
_ = json .dumps (self .attributes )
99
- except TypeError :
100
- raise LiveActivityAttributesIsNotJSONSerializable ()
99
+ except TypeError as e :
100
+ raise LiveActivityAttributesIsNotJSONSerializable () from e
101
101
102
- def dict (self ) -> Dict [str , Any ]:
102
+ def dict (self ) -> dict [str , Any ]:
103
103
payload = super ().dict ()
104
- additional : Dict [str , Optional [Any ]] = {
104
+ additional : dict [str , Optional [Any ]] = {
105
105
"timestamp" : int (self .timestamp .timestamp ()),
106
106
"event" : self .event .value ,
107
107
"content-state" : self .content_state ,
0 commit comments