|
@@ -1,16 +1,5 @@
|
|
|
import logging
|
|
|
-from typing import (
|
|
|
- Any,
|
|
|
- Callable,
|
|
|
- List,
|
|
|
- Mapping,
|
|
|
- MutableMapping,
|
|
|
- Optional,
|
|
|
- Sequence,
|
|
|
- Type,
|
|
|
- TypeVar,
|
|
|
- Union,
|
|
|
-)
|
|
|
+from typing import Any, Callable, Mapping, MutableMapping, Optional, Sequence, Type, TypeVar, Union
|
|
|
|
|
|
import sentry_sdk
|
|
|
from django.contrib.auth.models import AnonymousUser
|
|
@@ -92,13 +81,15 @@ class Serializer:
|
|
|
|
|
|
def __call__(
|
|
|
self, obj: Any, attrs: Mapping[Any, Any], user: Any, **kwargs: Any
|
|
|
- ) -> Optional[MutableMapping[str, Any]]:
|
|
|
+ ) -> Optional[Mapping[str, Any]]:
|
|
|
"""See documentation for `serialize`."""
|
|
|
if obj is None:
|
|
|
return None
|
|
|
return self._serialize(obj, attrs, user, **kwargs)
|
|
|
|
|
|
- def get_attrs(self, item_list: List[Any], user: Any, **kwargs: Any) -> MutableMapping[Any, Any]:
|
|
|
+ def get_attrs(
|
|
|
+ self, item_list: Sequence[Any], user: Any, **kwargs: Any
|
|
|
+ ) -> MutableMapping[Any, Any]:
|
|
|
"""
|
|
|
Fetch all of the associated data needed to serialize the objects in `item_list`.
|
|
|
|
|
@@ -111,7 +102,7 @@ class Serializer:
|
|
|
|
|
|
def _serialize(
|
|
|
self, obj: Any, attrs: Mapping[Any, Any], user: Any, **kwargs: Any
|
|
|
- ) -> Optional[MutableMapping[str, JSONData]]:
|
|
|
+ ) -> Optional[Mapping[str, JSONData]]:
|
|
|
try:
|
|
|
return self.serialize(obj, attrs, user, **kwargs)
|
|
|
except Exception:
|
|
@@ -120,7 +111,7 @@ class Serializer:
|
|
|
|
|
|
def serialize(
|
|
|
self, obj: Any, attrs: Mapping[Any, Any], user: Any, **kwargs: Any
|
|
|
- ) -> MutableMapping[str, JSONData]:
|
|
|
+ ) -> Mapping[str, JSONData]:
|
|
|
"""
|
|
|
Convert an arbitrary python object `obj` to an object that only contains primitives.
|
|
|
|