Skip to content

Commit 2c189b9

Browse files
authored
Merge pull request #154 from controlm/Added-AAPIObject-Serialization-Hook
Added serialization hook for aapiobject
2 parents 1357980 + eba33f1 commit 2c189b9

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

src/aapi/bases.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ def as_aapi_dict(self, ignore_event_type=True):
3434
if attrs.has(self):
3535
for field in attrs.fields(self.__class__):
3636
value = self.__getattribute__(field.name)
37+
## API serialization hook
38+
if "_aapi_serialize" in field.metadata:
39+
value = field.metadata["_aapi_serialize"](value)
40+
3741
aapi_repr = field.metadata.get("_aapi_repr_")
3842

3943
if value in [None, [], {}]:

src/aapi/job.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ class Units(enum.Enum):
8888
Days = "Days"
8989

9090
times: int = attrs.field(kw_only=True, default=None, metadata={
91-
'_aapi_repr_': 'Times'})
91+
'_aapi_repr_': 'Times', '_aapi_serialize': lambda v: str(v) if v is not None else None})
9292
every: str = attrs.field(kw_only=True, default=None, metadata={
9393
'_aapi_repr_': 'Every'})
9494
from_: From = attrs.field(kw_only=True, default=None, metadata={

0 commit comments

Comments
 (0)