Format: application/x-python-code
1 o
2
3 D'h� � @ s| d dl mZ d dlZd dlZddlmZ ddlm Z ej
4 r#ddlmZ dd
5 d�Z
6 d dd�Zd!dd�Zd"dd�Zd#dd�ZdS )$� )�annotationsN� )�current_app� )�_default)�Response�obj�t.Any�kwargs�return�strc K s6 t rt jj| fi |��S |�dt� tj| fi |��S )aF Serialize data as JSON.
7
8 If :data:`~flask.current_app` is available, it will use its
9 :meth:`app.json.dumps() <flask.json.provider.JSONProvider.dumps>`
10 method, otherwise it will use :func:`json.dumps`.
11
12 :param obj: The data to serialize.
13 :param kwargs: Arguments passed to the ``dumps`` implementation.
14
15 .. versionchanged:: 2.3
16 The ``app`` parameter was removed.
17
18 .. versionchanged:: 2.2
19 Calls ``current_app.json.dumps``, allowing an app to override
20 the behavior.
21
22 .. versionchanged:: 2.0.2
23 :class:`decimal.Decimal` is supported by converting to a string.
24
25 .. versionchanged:: 2.0
26 ``encoding`` will be removed in Flask 2.1.
27
28 .. versionchanged:: 1.0.3
29 ``app`` can be passed directly, rather than requiring an app
30 context for configuration.
31 �default)r �json�dumps�
32 setdefaultr �_json)r r
33 � r �IC:\Users\shubh\Videos\agent\nova\Lib\site-packages\flask/json/__init__.pyr
34 s r �fp� t.IO[str]�Nonec K sB t rt jj| |fi |�� dS |�dt� tj| |fi |�� dS )a Serialize data as JSON and write to a file.
35
36 If :data:`~flask.current_app` is available, it will use its
37 :meth:`app.json.dump() <flask.json.provider.JSONProvider.dump>`
38 method, otherwise it will use :func:`json.dump`.
39
40 :param obj: The data to serialize.
41 :param fp: A file opened for writing text. Should use the UTF-8
42 encoding to be valid JSON.
43 :param kwargs: Arguments passed to the ``dump`` implementation.
44
45 .. versionchanged:: 2.3
46 The ``app`` parameter was removed.
47
48 .. versionchanged:: 2.2
49 Calls ``current_app.json.dump``, allowing an app to override
50 the behavior.
51
52 .. versionchanged:: 2.0
53 Writing to a binary file, and the ``encoding`` argument, will be
54 removed in Flask 2.1.
55 r
56 N)r r �dumpr r r )r r r
57 r r r r / s r �s�str | bytesc K �* t rt jj| fi |��S tj| fi |��S )a Deserialize data as JSON.
58
59 If :data:`~flask.current_app` is available, it will use its
60 :meth:`app.json.loads() <flask.json.provider.JSONProvider.loads>`
61 method, otherwise it will use :func:`json.loads`.
62
63 :param s: Text or UTF-8 bytes.
64 :param kwargs: Arguments passed to the ``loads`` implementation.
65
66 .. versionchanged:: 2.3
67 The ``app`` parameter was removed.
68
69 .. versionchanged:: 2.2
70 Calls ``current_app.json.loads``, allowing an app to override
71 the behavior.
72
73 .. versionchanged:: 2.0
74 ``encoding`` will be removed in Flask 2.1. The data must be a
75 string or UTF-8 bytes.
76
77 .. versionchanged:: 1.0.3
78 ``app`` can be passed directly, rather than requiring an app
79 context for configuration.
80 )r r �loadsr )r r
81 r r r r M s r �t.IO[t.AnyStr]c K r )a Deserialize data as JSON read from a file.
82
83 If :data:`~flask.current_app` is available, it will use its
84 :meth:`app.json.load() <flask.json.provider.JSONProvider.load>`
85 method, otherwise it will use :func:`json.load`.
86
87 :param fp: A file opened for reading text or UTF-8 bytes.
88 :param kwargs: Arguments passed to the ``load`` implementation.
89
90 .. versionchanged:: 2.3
91 The ``app`` parameter was removed.
92
93 .. versionchanged:: 2.2
94 Calls ``current_app.json.load``, allowing an app to override
95 the behavior.
96
97 .. versionchanged:: 2.2
98 The ``app`` parameter will be removed in Flask 2.3.
99
100 .. versionchanged:: 2.0
101 ``encoding`` will be removed in Flask 2.1. The file must be text
102 mode, or binary mode with UTF-8 bytes.
103 )r r �loadr )r r
104 r r r r l s r �argsr c O s t jj| i |��S )a� Serialize the given arguments as JSON, and return a
105 :class:`~flask.Response` object with the ``application/json``
106 mimetype. A dict or list returned from a view will be converted to a
107 JSON response automatically without needing to call this.
108
109 This requires an active request or application context, and calls
110 :meth:`app.json.response() <flask.json.provider.JSONProvider.response>`.
111
112 In debug mode, the output is formatted with indentation to make it
113 easier to read. This may also be controlled by the provider.
114
115 Either positional or keyword arguments can be given, not both.
116 If no arguments are given, ``None`` is serialized.
117
118 :param args: A single value to serialize, or multiple values to
119 treat as a list to serialize.
120 :param kwargs: Treat as a dict to serialize.
121
122 .. versionchanged:: 2.2
123 Calls ``current_app.json.response``, allowing an app to override
124 the behavior.
125
126 .. versionchanged:: 2.0.2
127 :class:`decimal.Decimal` is supported by converting to a string.
128
129 .. versionchanged:: 0.11
130 Added support for serializing top-level arrays. This was a
131 security risk in ancient browsers. See :ref:`security-json`.
132
133 .. versionadded:: 0.2
134 )r r �response)r r
135 r r r �jsonify� s r )r r r
136 r r r )r r r r r
137 r r r )r r r
138 r r r )r r r
139 r r r )r r r
140 r r r )�
141 __future__r r r �typing�t�globalsr �providerr �
142 TYPE_CHECKINGZwrappersr r r r r r r r r r �<module> s
143
144 "
145
146