huaweicloudsdkvas 3.1.160__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. huaweicloudsdkvas/__init__.py +0 -0
  2. huaweicloudsdkvas/v2/__init__.py +46 -0
  3. huaweicloudsdkvas/v2/model/__init__.py +43 -0
  4. huaweicloudsdkvas/v2/model/create_response_body.py +114 -0
  5. huaweicloudsdkvas/v2/model/create_tasks_request.py +139 -0
  6. huaweicloudsdkvas/v2/model/create_tasks_request_body.py +327 -0
  7. huaweicloudsdkvas/v2/model/create_tasks_response.py +112 -0
  8. huaweicloudsdkvas/v2/model/delete_task_request.py +142 -0
  9. huaweicloudsdkvas/v2/model/delete_task_response.py +85 -0
  10. huaweicloudsdkvas/v2/model/list_tasks_details_request.py +375 -0
  11. huaweicloudsdkvas/v2/model/list_tasks_details_response.py +145 -0
  12. huaweicloudsdkvas/v2/model/show_task_request.py +142 -0
  13. huaweicloudsdkvas/v2/model/show_task_response.py +656 -0
  14. huaweicloudsdkvas/v2/model/start_task_request.py +142 -0
  15. huaweicloudsdkvas/v2/model/start_task_response.py +85 -0
  16. huaweicloudsdkvas/v2/model/stop_task_request.py +142 -0
  17. huaweicloudsdkvas/v2/model/stop_task_response.py +85 -0
  18. huaweicloudsdkvas/v2/model/task_details.py +630 -0
  19. huaweicloudsdkvas/v2/model/task_details_error.py +142 -0
  20. huaweicloudsdkvas/v2/model/task_details_service_title.py +144 -0
  21. huaweicloudsdkvas/v2/model/task_hosting_result.py +111 -0
  22. huaweicloudsdkvas/v2/model/task_hosting_result_hosting_result.py +202 -0
  23. huaweicloudsdkvas/v2/model/task_input.py +167 -0
  24. huaweicloudsdkvas/v2/model/task_input_data.py +405 -0
  25. huaweicloudsdkvas/v2/model/task_input_vcn.py +198 -0
  26. huaweicloudsdkvas/v2/model/task_output.py +211 -0
  27. huaweicloudsdkvas/v2/model/task_output_dis.py +143 -0
  28. huaweicloudsdkvas/v2/model/task_output_for_display.py +211 -0
  29. huaweicloudsdkvas/v2/model/task_output_hosting.py +115 -0
  30. huaweicloudsdkvas/v2/model/task_output_hosting_for_display.py +173 -0
  31. huaweicloudsdkvas/v2/model/task_output_hosting_for_display_obs.py +144 -0
  32. huaweicloudsdkvas/v2/model/task_output_localpath.py +143 -0
  33. huaweicloudsdkvas/v2/model/task_output_obs.py +171 -0
  34. huaweicloudsdkvas/v2/model/task_output_webhook.py +171 -0
  35. huaweicloudsdkvas/v2/model/task_service_config.py +115 -0
  36. huaweicloudsdkvas/v2/model/task_timing.py +283 -0
  37. huaweicloudsdkvas/v2/model/task_timing_frequency.py +200 -0
  38. huaweicloudsdkvas/v2/model/task_timing_periods.py +144 -0
  39. huaweicloudsdkvas/v2/model/update_task_request.py +167 -0
  40. huaweicloudsdkvas/v2/model/update_task_request_body.py +244 -0
  41. huaweicloudsdkvas/v2/model/update_task_response.py +631 -0
  42. huaweicloudsdkvas/v2/region/__init__.py +0 -0
  43. huaweicloudsdkvas/v2/region/vas_region.py +52 -0
  44. huaweicloudsdkvas/v2/vas_async_client.py +570 -0
  45. huaweicloudsdkvas/v2/vas_client.py +567 -0
  46. huaweicloudsdkvas-3.1.160.dist-info/LICENSE +13 -0
  47. huaweicloudsdkvas-3.1.160.dist-info/METADATA +26 -0
  48. huaweicloudsdkvas-3.1.160.dist-info/RECORD +50 -0
  49. huaweicloudsdkvas-3.1.160.dist-info/WHEEL +5 -0
  50. huaweicloudsdkvas-3.1.160.dist-info/top_level.txt +1 -0
@@ -0,0 +1,167 @@
1
+ # coding: utf-8
2
+
3
+ import six
4
+
5
+ from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
6
+
7
+
8
+ class TaskInput:
9
+
10
+ """
11
+ Attributes:
12
+ openapi_types (dict): The key is attribute name
13
+ and the value is attribute type.
14
+ attribute_map (dict): The key is attribute name
15
+ and the value is json key in definition.
16
+ """
17
+ sensitive_list = []
18
+
19
+ openapi_types = {
20
+ 'type': 'str',
21
+ 'data': 'list[TaskInputData]',
22
+ 'vcn': 'TaskInputVcn'
23
+ }
24
+
25
+ attribute_map = {
26
+ 'type': 'type',
27
+ 'data': 'data',
28
+ 'vcn': 'vcn'
29
+ }
30
+
31
+ def __init__(self, type=None, data=None, vcn=None):
32
+ r"""TaskInput
33
+
34
+ The model defined in huaweicloud sdk
35
+
36
+ :param type: 作业的输入类型,必填。可选类型有obs(对象存储服务存储的文件),vis(视频接入服务的视频流),url(指定的文件地址或取流地址),edgecamera(绑定在IEF的边缘摄像头),edgerestful(从自定义的流媒体服务器通过Restful接口获取取流地址),vcn(VCN设备)。
37
+ :type type: str
38
+ :param data: 作业的输入详情,必填。针对不同的输入类型有不同的配置。创建时允许填写多路输入,但更新时只允许填写一路输入。
39
+ :type data: list[:class:`huaweicloudsdkvas.v2.TaskInputData`]
40
+ :param vcn:
41
+ :type vcn: :class:`huaweicloudsdkvas.v2.TaskInputVcn`
42
+ """
43
+
44
+
45
+
46
+ self._type = None
47
+ self._data = None
48
+ self._vcn = None
49
+ self.discriminator = None
50
+
51
+ self.type = type
52
+ self.data = data
53
+ if vcn is not None:
54
+ self.vcn = vcn
55
+
56
+ @property
57
+ def type(self):
58
+ r"""Gets the type of this TaskInput.
59
+
60
+ 作业的输入类型,必填。可选类型有obs(对象存储服务存储的文件),vis(视频接入服务的视频流),url(指定的文件地址或取流地址),edgecamera(绑定在IEF的边缘摄像头),edgerestful(从自定义的流媒体服务器通过Restful接口获取取流地址),vcn(VCN设备)。
61
+
62
+ :return: The type of this TaskInput.
63
+ :rtype: str
64
+ """
65
+ return self._type
66
+
67
+ @type.setter
68
+ def type(self, type):
69
+ r"""Sets the type of this TaskInput.
70
+
71
+ 作业的输入类型,必填。可选类型有obs(对象存储服务存储的文件),vis(视频接入服务的视频流),url(指定的文件地址或取流地址),edgecamera(绑定在IEF的边缘摄像头),edgerestful(从自定义的流媒体服务器通过Restful接口获取取流地址),vcn(VCN设备)。
72
+
73
+ :param type: The type of this TaskInput.
74
+ :type type: str
75
+ """
76
+ self._type = type
77
+
78
+ @property
79
+ def data(self):
80
+ r"""Gets the data of this TaskInput.
81
+
82
+ 作业的输入详情,必填。针对不同的输入类型有不同的配置。创建时允许填写多路输入,但更新时只允许填写一路输入。
83
+
84
+ :return: The data of this TaskInput.
85
+ :rtype: list[:class:`huaweicloudsdkvas.v2.TaskInputData`]
86
+ """
87
+ return self._data
88
+
89
+ @data.setter
90
+ def data(self, data):
91
+ r"""Sets the data of this TaskInput.
92
+
93
+ 作业的输入详情,必填。针对不同的输入类型有不同的配置。创建时允许填写多路输入,但更新时只允许填写一路输入。
94
+
95
+ :param data: The data of this TaskInput.
96
+ :type data: list[:class:`huaweicloudsdkvas.v2.TaskInputData`]
97
+ """
98
+ self._data = data
99
+
100
+ @property
101
+ def vcn(self):
102
+ r"""Gets the vcn of this TaskInput.
103
+
104
+ :return: The vcn of this TaskInput.
105
+ :rtype: :class:`huaweicloudsdkvas.v2.TaskInputVcn`
106
+ """
107
+ return self._vcn
108
+
109
+ @vcn.setter
110
+ def vcn(self, vcn):
111
+ r"""Sets the vcn of this TaskInput.
112
+
113
+ :param vcn: The vcn of this TaskInput.
114
+ :type vcn: :class:`huaweicloudsdkvas.v2.TaskInputVcn`
115
+ """
116
+ self._vcn = vcn
117
+
118
+ def to_dict(self):
119
+ """Returns the model properties as a dict"""
120
+ result = {}
121
+
122
+ for attr, _ in six.iteritems(self.openapi_types):
123
+ value = getattr(self, attr)
124
+ if isinstance(value, list):
125
+ result[attr] = list(map(
126
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
127
+ value
128
+ ))
129
+ elif hasattr(value, "to_dict"):
130
+ result[attr] = value.to_dict()
131
+ elif isinstance(value, dict):
132
+ result[attr] = dict(map(
133
+ lambda item: (item[0], item[1].to_dict())
134
+ if hasattr(item[1], "to_dict") else item,
135
+ value.items()
136
+ ))
137
+ else:
138
+ if attr in self.sensitive_list:
139
+ result[attr] = "****"
140
+ else:
141
+ result[attr] = value
142
+
143
+ return result
144
+
145
+ def to_str(self):
146
+ """Returns the string representation of the model"""
147
+ import simplejson as json
148
+ if six.PY2:
149
+ import sys
150
+ reload(sys)
151
+ sys.setdefaultencoding("utf-8")
152
+ return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
153
+
154
+ def __repr__(self):
155
+ """For `print`"""
156
+ return self.to_str()
157
+
158
+ def __eq__(self, other):
159
+ """Returns true if both objects are equal"""
160
+ if not isinstance(other, TaskInput):
161
+ return False
162
+
163
+ return self.__dict__ == other.__dict__
164
+
165
+ def __ne__(self, other):
166
+ """Returns true if both objects are not equal"""
167
+ return not self == other
@@ -0,0 +1,405 @@
1
+ # coding: utf-8
2
+
3
+ import six
4
+
5
+ from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
6
+
7
+
8
+ class TaskInputData:
9
+
10
+ """
11
+ Attributes:
12
+ openapi_types (dict): The key is attribute name
13
+ and the value is attribute type.
14
+ attribute_map (dict): The key is attribute name
15
+ and the value is json key in definition.
16
+ """
17
+ sensitive_list = []
18
+
19
+ openapi_types = {
20
+ 'stream_name': 'str',
21
+ 'bucket': 'str',
22
+ 'path': 'str',
23
+ 'url': 'str',
24
+ 'headers': 'object',
25
+ 'certificate_check': 'bool',
26
+ 'rtsp_path_in_response': 'str',
27
+ 'node_id': 'str',
28
+ 'device_id': 'str',
29
+ 'stream_type': 'int',
30
+ 'id': 'str'
31
+ }
32
+
33
+ attribute_map = {
34
+ 'stream_name': 'stream_name',
35
+ 'bucket': 'bucket',
36
+ 'path': 'path',
37
+ 'url': 'url',
38
+ 'headers': 'headers',
39
+ 'certificate_check': 'certificate_check',
40
+ 'rtsp_path_in_response': 'rtsp_path_in_response',
41
+ 'node_id': 'node_id',
42
+ 'device_id': 'device_id',
43
+ 'stream_type': 'stream_type',
44
+ 'id': 'id'
45
+ }
46
+
47
+ def __init__(self, stream_name=None, bucket=None, path=None, url=None, headers=None, certificate_check=None, rtsp_path_in_response=None, node_id=None, device_id=None, stream_type=None, id=None):
48
+ r"""TaskInputData
49
+
50
+ The model defined in huaweicloud sdk
51
+
52
+ :param stream_name: VIS的视频流名称,当输入为vis类型时必填。
53
+ :type stream_name: str
54
+ :param bucket: OBS桶名,当输入为obs类型时必填。
55
+ :type bucket: str
56
+ :param path: OBS的路径,当输入为obs类型时必填。
57
+ :type path: str
58
+ :param url: url输入源的地址或者获取视频流地址的restful请求地址,当输入为url类型或者edgerestful类型时必填。长度不超过1000。
59
+ :type url: str
60
+ :param headers: 获取视频流地址的restful请求携带的请求头,当输入为edgerestful类型时可选。整体呈json格式,以键值对的形式表示请求头和取值,最多允许10组。
61
+ :type headers: object
62
+ :param certificate_check: 是否需要对https请求进行证书校验,当输入为edgerestful类型时必填。取值为true或者false。
63
+ :type certificate_check: bool
64
+ :param rtsp_path_in_response: restful请求返回的body中,视频流地址的路径,当输入为edgerestful类型时必填。长度不超过1024。
65
+ :type rtsp_path_in_response: str
66
+ :param node_id: IEF节点的ID,仅部分服务在输入类型为edgerestful或vcn时需填且必填。
67
+ :type node_id: str
68
+ :param device_id: VCN设备ID,当输入为vcn类型时必填。
69
+ :type device_id: str
70
+ :param stream_type: 准备进行分析的码流,当输入为vcn类型时选填。取值范围为1~3,其中1代表主码流,2代表子码流1,3代表子码流2。
71
+ :type stream_type: int
72
+ :param id: IEF挂载的边缘设备的ID,当输入为edgecamera类型时必填。
73
+ :type id: str
74
+ """
75
+
76
+
77
+
78
+ self._stream_name = None
79
+ self._bucket = None
80
+ self._path = None
81
+ self._url = None
82
+ self._headers = None
83
+ self._certificate_check = None
84
+ self._rtsp_path_in_response = None
85
+ self._node_id = None
86
+ self._device_id = None
87
+ self._stream_type = None
88
+ self._id = None
89
+ self.discriminator = None
90
+
91
+ if stream_name is not None:
92
+ self.stream_name = stream_name
93
+ if bucket is not None:
94
+ self.bucket = bucket
95
+ if path is not None:
96
+ self.path = path
97
+ if url is not None:
98
+ self.url = url
99
+ if headers is not None:
100
+ self.headers = headers
101
+ if certificate_check is not None:
102
+ self.certificate_check = certificate_check
103
+ if rtsp_path_in_response is not None:
104
+ self.rtsp_path_in_response = rtsp_path_in_response
105
+ if node_id is not None:
106
+ self.node_id = node_id
107
+ if device_id is not None:
108
+ self.device_id = device_id
109
+ if stream_type is not None:
110
+ self.stream_type = stream_type
111
+ if id is not None:
112
+ self.id = id
113
+
114
+ @property
115
+ def stream_name(self):
116
+ r"""Gets the stream_name of this TaskInputData.
117
+
118
+ VIS的视频流名称,当输入为vis类型时必填。
119
+
120
+ :return: The stream_name of this TaskInputData.
121
+ :rtype: str
122
+ """
123
+ return self._stream_name
124
+
125
+ @stream_name.setter
126
+ def stream_name(self, stream_name):
127
+ r"""Sets the stream_name of this TaskInputData.
128
+
129
+ VIS的视频流名称,当输入为vis类型时必填。
130
+
131
+ :param stream_name: The stream_name of this TaskInputData.
132
+ :type stream_name: str
133
+ """
134
+ self._stream_name = stream_name
135
+
136
+ @property
137
+ def bucket(self):
138
+ r"""Gets the bucket of this TaskInputData.
139
+
140
+ OBS桶名,当输入为obs类型时必填。
141
+
142
+ :return: The bucket of this TaskInputData.
143
+ :rtype: str
144
+ """
145
+ return self._bucket
146
+
147
+ @bucket.setter
148
+ def bucket(self, bucket):
149
+ r"""Sets the bucket of this TaskInputData.
150
+
151
+ OBS桶名,当输入为obs类型时必填。
152
+
153
+ :param bucket: The bucket of this TaskInputData.
154
+ :type bucket: str
155
+ """
156
+ self._bucket = bucket
157
+
158
+ @property
159
+ def path(self):
160
+ r"""Gets the path of this TaskInputData.
161
+
162
+ OBS的路径,当输入为obs类型时必填。
163
+
164
+ :return: The path of this TaskInputData.
165
+ :rtype: str
166
+ """
167
+ return self._path
168
+
169
+ @path.setter
170
+ def path(self, path):
171
+ r"""Sets the path of this TaskInputData.
172
+
173
+ OBS的路径,当输入为obs类型时必填。
174
+
175
+ :param path: The path of this TaskInputData.
176
+ :type path: str
177
+ """
178
+ self._path = path
179
+
180
+ @property
181
+ def url(self):
182
+ r"""Gets the url of this TaskInputData.
183
+
184
+ url输入源的地址或者获取视频流地址的restful请求地址,当输入为url类型或者edgerestful类型时必填。长度不超过1000。
185
+
186
+ :return: The url of this TaskInputData.
187
+ :rtype: str
188
+ """
189
+ return self._url
190
+
191
+ @url.setter
192
+ def url(self, url):
193
+ r"""Sets the url of this TaskInputData.
194
+
195
+ url输入源的地址或者获取视频流地址的restful请求地址,当输入为url类型或者edgerestful类型时必填。长度不超过1000。
196
+
197
+ :param url: The url of this TaskInputData.
198
+ :type url: str
199
+ """
200
+ self._url = url
201
+
202
+ @property
203
+ def headers(self):
204
+ r"""Gets the headers of this TaskInputData.
205
+
206
+ 获取视频流地址的restful请求携带的请求头,当输入为edgerestful类型时可选。整体呈json格式,以键值对的形式表示请求头和取值,最多允许10组。
207
+
208
+ :return: The headers of this TaskInputData.
209
+ :rtype: object
210
+ """
211
+ return self._headers
212
+
213
+ @headers.setter
214
+ def headers(self, headers):
215
+ r"""Sets the headers of this TaskInputData.
216
+
217
+ 获取视频流地址的restful请求携带的请求头,当输入为edgerestful类型时可选。整体呈json格式,以键值对的形式表示请求头和取值,最多允许10组。
218
+
219
+ :param headers: The headers of this TaskInputData.
220
+ :type headers: object
221
+ """
222
+ self._headers = headers
223
+
224
+ @property
225
+ def certificate_check(self):
226
+ r"""Gets the certificate_check of this TaskInputData.
227
+
228
+ 是否需要对https请求进行证书校验,当输入为edgerestful类型时必填。取值为true或者false。
229
+
230
+ :return: The certificate_check of this TaskInputData.
231
+ :rtype: bool
232
+ """
233
+ return self._certificate_check
234
+
235
+ @certificate_check.setter
236
+ def certificate_check(self, certificate_check):
237
+ r"""Sets the certificate_check of this TaskInputData.
238
+
239
+ 是否需要对https请求进行证书校验,当输入为edgerestful类型时必填。取值为true或者false。
240
+
241
+ :param certificate_check: The certificate_check of this TaskInputData.
242
+ :type certificate_check: bool
243
+ """
244
+ self._certificate_check = certificate_check
245
+
246
+ @property
247
+ def rtsp_path_in_response(self):
248
+ r"""Gets the rtsp_path_in_response of this TaskInputData.
249
+
250
+ restful请求返回的body中,视频流地址的路径,当输入为edgerestful类型时必填。长度不超过1024。
251
+
252
+ :return: The rtsp_path_in_response of this TaskInputData.
253
+ :rtype: str
254
+ """
255
+ return self._rtsp_path_in_response
256
+
257
+ @rtsp_path_in_response.setter
258
+ def rtsp_path_in_response(self, rtsp_path_in_response):
259
+ r"""Sets the rtsp_path_in_response of this TaskInputData.
260
+
261
+ restful请求返回的body中,视频流地址的路径,当输入为edgerestful类型时必填。长度不超过1024。
262
+
263
+ :param rtsp_path_in_response: The rtsp_path_in_response of this TaskInputData.
264
+ :type rtsp_path_in_response: str
265
+ """
266
+ self._rtsp_path_in_response = rtsp_path_in_response
267
+
268
+ @property
269
+ def node_id(self):
270
+ r"""Gets the node_id of this TaskInputData.
271
+
272
+ IEF节点的ID,仅部分服务在输入类型为edgerestful或vcn时需填且必填。
273
+
274
+ :return: The node_id of this TaskInputData.
275
+ :rtype: str
276
+ """
277
+ return self._node_id
278
+
279
+ @node_id.setter
280
+ def node_id(self, node_id):
281
+ r"""Sets the node_id of this TaskInputData.
282
+
283
+ IEF节点的ID,仅部分服务在输入类型为edgerestful或vcn时需填且必填。
284
+
285
+ :param node_id: The node_id of this TaskInputData.
286
+ :type node_id: str
287
+ """
288
+ self._node_id = node_id
289
+
290
+ @property
291
+ def device_id(self):
292
+ r"""Gets the device_id of this TaskInputData.
293
+
294
+ VCN设备ID,当输入为vcn类型时必填。
295
+
296
+ :return: The device_id of this TaskInputData.
297
+ :rtype: str
298
+ """
299
+ return self._device_id
300
+
301
+ @device_id.setter
302
+ def device_id(self, device_id):
303
+ r"""Sets the device_id of this TaskInputData.
304
+
305
+ VCN设备ID,当输入为vcn类型时必填。
306
+
307
+ :param device_id: The device_id of this TaskInputData.
308
+ :type device_id: str
309
+ """
310
+ self._device_id = device_id
311
+
312
+ @property
313
+ def stream_type(self):
314
+ r"""Gets the stream_type of this TaskInputData.
315
+
316
+ 准备进行分析的码流,当输入为vcn类型时选填。取值范围为1~3,其中1代表主码流,2代表子码流1,3代表子码流2。
317
+
318
+ :return: The stream_type of this TaskInputData.
319
+ :rtype: int
320
+ """
321
+ return self._stream_type
322
+
323
+ @stream_type.setter
324
+ def stream_type(self, stream_type):
325
+ r"""Sets the stream_type of this TaskInputData.
326
+
327
+ 准备进行分析的码流,当输入为vcn类型时选填。取值范围为1~3,其中1代表主码流,2代表子码流1,3代表子码流2。
328
+
329
+ :param stream_type: The stream_type of this TaskInputData.
330
+ :type stream_type: int
331
+ """
332
+ self._stream_type = stream_type
333
+
334
+ @property
335
+ def id(self):
336
+ r"""Gets the id of this TaskInputData.
337
+
338
+ IEF挂载的边缘设备的ID,当输入为edgecamera类型时必填。
339
+
340
+ :return: The id of this TaskInputData.
341
+ :rtype: str
342
+ """
343
+ return self._id
344
+
345
+ @id.setter
346
+ def id(self, id):
347
+ r"""Sets the id of this TaskInputData.
348
+
349
+ IEF挂载的边缘设备的ID,当输入为edgecamera类型时必填。
350
+
351
+ :param id: The id of this TaskInputData.
352
+ :type id: str
353
+ """
354
+ self._id = id
355
+
356
+ def to_dict(self):
357
+ """Returns the model properties as a dict"""
358
+ result = {}
359
+
360
+ for attr, _ in six.iteritems(self.openapi_types):
361
+ value = getattr(self, attr)
362
+ if isinstance(value, list):
363
+ result[attr] = list(map(
364
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
365
+ value
366
+ ))
367
+ elif hasattr(value, "to_dict"):
368
+ result[attr] = value.to_dict()
369
+ elif isinstance(value, dict):
370
+ result[attr] = dict(map(
371
+ lambda item: (item[0], item[1].to_dict())
372
+ if hasattr(item[1], "to_dict") else item,
373
+ value.items()
374
+ ))
375
+ else:
376
+ if attr in self.sensitive_list:
377
+ result[attr] = "****"
378
+ else:
379
+ result[attr] = value
380
+
381
+ return result
382
+
383
+ def to_str(self):
384
+ """Returns the string representation of the model"""
385
+ import simplejson as json
386
+ if six.PY2:
387
+ import sys
388
+ reload(sys)
389
+ sys.setdefaultencoding("utf-8")
390
+ return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
391
+
392
+ def __repr__(self):
393
+ """For `print`"""
394
+ return self.to_str()
395
+
396
+ def __eq__(self, other):
397
+ """Returns true if both objects are equal"""
398
+ if not isinstance(other, TaskInputData):
399
+ return False
400
+
401
+ return self.__dict__ == other.__dict__
402
+
403
+ def __ne__(self, other):
404
+ """Returns true if both objects are not equal"""
405
+ return not self == other