misc(aurora): change the JSONEncoder subclass to use match/case instead of if statements
All checks were successful
Actions / Build Documentation (MkDocs) (pull_request) Successful in 40s
Actions / Lint Code (Ruff & Pylint) (pull_request) Successful in 1m4s

This commit is contained in:
Seaswimmer 2024-06-04 14:20:01 -04:00
parent 21fa3d9eb0
commit 8ac735dafe
Signed by: cswimr
GPG key ID: 5D671B5D03D65A7F

View file

@ -1,5 +1,6 @@
import json import json
from datetime import datetime, timedelta from datetime import datetime, timedelta
from typing import Any
from redbot.core.bot import Red from redbot.core.bot import Red
@ -7,15 +8,17 @@ from ..models.base import AuroraBaseModel
class JSONEncoder(json.JSONEncoder): class JSONEncoder(json.JSONEncoder):
def default(self, o): def default(self, o) -> Any:
if isinstance(o, datetime): match o:
case datetime():
return int(o.timestamp()) return int(o.timestamp())
if isinstance(o, timedelta): case timedelta():
return str(o) return str(o)
if isinstance(o, AuroraBaseModel): case AuroraBaseModel():
return o.dump() return o.dump()
if isinstance(o, Red): case Red():
return None return None
case _:
return super().default(o) return super().default(o)