18.0 vanilla

This commit is contained in:
Ernad Husremovic 2025-10-03 18:06:50 +02:00
parent d72e748793
commit 0a7ae8db93
337 changed files with 399651 additions and 232598 deletions

View file

@ -1,8 +1,11 @@
# -*- coding: utf-8 -*-
from datetime import date, datetime
import json as json_
import re
import markupsafe
from .func import lazy
from .misc import ReadonlyDict
JSON_SCRIPTSAFE_MAPPER = {
'&': r'\u0026',
@ -53,3 +56,18 @@ class JSON:
"""
return _ScriptSafe(json_.dumps(*args, **kwargs))
scriptsafe = JSON()
def json_default(obj):
from odoo import fields # noqa: PLC0415
if isinstance(obj, datetime):
return fields.Datetime.to_string(obj)
if isinstance(obj, date):
return fields.Date.to_string(obj)
if isinstance(obj, lazy):
return obj._value
if isinstance(obj, ReadonlyDict):
return dict(obj)
if isinstance(obj, bytes):
return obj.decode()
return str(obj)