-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction.py
More file actions
120 lines (89 loc) · 2.8 KB
/
action.py
File metadata and controls
120 lines (89 loc) · 2.8 KB
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
110
111
112
113
114
115
116
117
118
119
120
import datetime
from collections.abc import Mapping
from typing import Any, TypeVar, Union
from attrs import define as _attrs_define
from attrs import field as _attrs_field
from dateutil.parser import isoparse
from ..types import UNSET, Unset
T = TypeVar("T", bound="Action")
@_attrs_define
class Action:
"""
Attributes:
id (int):
task (str):
trigger (str):
integration (str):
status (str):
created (datetime.datetime):
updated (datetime.datetime):
config (Union[Unset, Any]):
"""
id: int
task: str
trigger: str
integration: str
status: str
created: datetime.datetime
updated: datetime.datetime
config: Union[Unset, Any] = UNSET
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
def to_dict(self) -> dict[str, Any]:
id = self.id
task = self.task
trigger = self.trigger
integration = self.integration
status = self.status
created = self.created.isoformat()
updated = self.updated.isoformat()
config = self.config
field_dict: dict[str, Any] = {}
field_dict.update(self.additional_properties)
field_dict.update(
{
"id": id,
"task": task,
"trigger": trigger,
"integration": integration,
"status": status,
"created": created,
"updated": updated,
}
)
if config is not UNSET:
field_dict["config"] = config
return field_dict
@classmethod
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
d = dict(src_dict)
id = d.pop("id")
task = d.pop("task")
trigger = d.pop("trigger")
integration = d.pop("integration")
status = d.pop("status")
created = isoparse(d.pop("created"))
updated = isoparse(d.pop("updated"))
config = d.pop("config", UNSET)
action = cls(
id=id,
task=task,
trigger=trigger,
integration=integration,
status=status,
created=created,
updated=updated,
config=config,
)
action.additional_properties = d
return action
@property
def additional_keys(self) -> list[str]:
return list(self.additional_properties.keys())
def __getitem__(self, key: str) -> Any:
return self.additional_properties[key]
def __setitem__(self, key: str, value: Any) -> None:
self.additional_properties[key] = value
def __delitem__(self, key: str) -> None:
del self.additional_properties[key]
def __contains__(self, key: str) -> bool:
return key in self.additional_properties