Add json_serial to json.py

This commit is contained in:
tcely 2025-05-18 06:16:06 -04:00 committed by GitHub
parent 3abab98f64
commit 1ba4bca58b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,4 +1,6 @@
from datetime import datetime
from django.core.serializers.json import DjangoJSONEncoder from django.core.serializers.json import DjangoJSONEncoder
from yt_dlp.utils import LazyList
class JSONEncoder(DjangoJSONEncoder): class JSONEncoder(DjangoJSONEncoder):
@ -14,3 +16,11 @@ class JSONEncoder(DjangoJSONEncoder):
return list(iterable) return list(iterable)
return super().default(obj) return super().default(obj)
def json_serial(obj):
if isinstance(obj, datetime):
return obj.isoformat()
if isinstance(obj, LazyList):
return list(obj)
raise TypeError(f'Type {type(obj)} is not json_serial()-able')