From 861a32ae82beaa01fa05b104ccb386b655a19b64 Mon Sep 17 00:00:00 2001 From: Codejune Date: Sat, 9 Oct 2021 23:57:23 +0900 Subject: [PATCH] Add some docstring and type checking --- sdk/core/azure-core/azure/core/serialization.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sdk/core/azure-core/azure/core/serialization.py b/sdk/core/azure-core/azure/core/serialization.py index 24c9f25adcc8..ba943e069b52 100644 --- a/sdk/core/azure-core/azure/core/serialization.py +++ b/sdk/core/azure-core/azure/core/serialization.py @@ -6,12 +6,12 @@ # -------------------------------------------------------------------------- import base64 from json import JSONEncoder -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, Union from .utils._utils import _FixedOffset if TYPE_CHECKING: - from datetime import timedelta + from datetime import timedelta, date, datetime, time __all__ = ["NULL", "AzureJSONEncoder"] @@ -84,6 +84,8 @@ def _timedelta_as_str(td): def _datetime_as_isostr(dt): + # type: (Union[datetime, date, time, timedelta]) -> str + """Converts a datetime.(datetime|date|time|timedelta) object into an ISO 8601 formatted string""" # First try datetime.datetime if hasattr(dt, "year") and hasattr(dt, "hour"): # astimezone() fails for naive times in Python 2.7, so make make sure o is aware (tzinfo is set) @@ -118,5 +120,6 @@ def default(self, o): # pylint: disable=too-many-return-statements try: return _datetime_as_isostr(o) except AttributeError: + # This will be raised when it hits value.total_seconds in the method above pass return super(AzureJSONEncoder, self).default(o)