summaryrefslogtreecommitdiff
path: root/kombu/utils/json.py
diff options
context:
space:
mode:
Diffstat (limited to 'kombu/utils/json.py')
-rw-r--r--kombu/utils/json.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/kombu/utils/json.py b/kombu/utils/json.py
index 6668a73e..b3c6dfb5 100644
--- a/kombu/utils/json.py
+++ b/kombu/utils/json.py
@@ -10,7 +10,7 @@ from .typing import AnyBuffer
try:
from django.utils.functional import Promise as DjangoPromise
except ImportError: # pragma: no cover
- class DjangoPromise(object): # noqa
+ class DjangoPromise(object): # noqa, type: ignore
"""Dummy object."""
try:
@@ -24,20 +24,21 @@ except ImportError: # pragma: no cover
else:
from simplejson.decoder import JSONDecodeError as _DecodeError
-_encoder_cls = type(json._default_encoder)
-_default_encoder = None # ... set to JSONEncoder below.
+_encoder_cls: type = type(json._default_encoder) # type: ignore
+_default_encoder: type = None # ... set to JSONEncoder below.
class JSONEncoder(_encoder_cls):
"""Kombu custom json encoder."""
- def default(self, o,
+ def default(self, o: Any,
+ *,
dates=(datetime.datetime, datetime.date),
times=(datetime.time,),
textual=(decimal.Decimal, uuid.UUID, DjangoPromise),
isinstance=isinstance,
datetime=datetime.datetime,
- str=str):
+ str=str) -> Any:
reducer = getattr(o, '__json__', None)
if reducer is not None:
o = reducer()
@@ -59,6 +60,7 @@ _default_encoder = JSONEncoder
def dumps(s: Any,
+ *,
_dumps: Callable = json.dumps,
cls: Any = None,
default_kwargs: Dict = _json_extra_kwargs,
@@ -68,7 +70,7 @@ def dumps(s: Any,
**dict(default_kwargs, **kwargs))
-def loads(s: AnyBuffer, _loads: Callable = json.loads) -> Any:
+def loads(s: AnyBuffer, *, _loads: Callable = json.loads) -> Any:
"""Deserialize json from string."""
# None of the json implementations supports decoding from
# a buffer/memoryview, or even reading from a stream