@scrypted/server 0.121.4 → 0.123.0
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.
- package/package.json +1 -1
- package/python/rpc_reader.py +19 -3
package/package.json
CHANGED
package/python/rpc_reader.py
CHANGED
@@ -12,7 +12,23 @@ import multiprocessing.connection
|
|
12
12
|
import rpc
|
13
13
|
import concurrent.futures
|
14
14
|
import json
|
15
|
-
|
15
|
+
import math
|
16
|
+
|
17
|
+
def convert_nan_inf_to_none(obj):
|
18
|
+
if isinstance(obj, dict):
|
19
|
+
return {key: convert_nan_inf_to_none(value) for key, value in obj.items()}
|
20
|
+
elif isinstance(obj, list):
|
21
|
+
return [convert_nan_inf_to_none(item) for item in obj]
|
22
|
+
elif isinstance(obj, float):
|
23
|
+
if math.isnan(obj):
|
24
|
+
return None
|
25
|
+
if math.isinf(obj):
|
26
|
+
return None
|
27
|
+
return obj
|
28
|
+
|
29
|
+
def json_dumps_clean(obj, **kwargs):
|
30
|
+
cleaned_obj = convert_nan_inf_to_none(obj)
|
31
|
+
return json.dumps(cleaned_obj, **kwargs)
|
16
32
|
|
17
33
|
class BufferSerializer(rpc.RpcSerializer):
|
18
34
|
def serialize(self, value, serializationContext):
|
@@ -94,7 +110,7 @@ class RpcFileTransport(RpcTransport):
|
|
94
110
|
reject(e)
|
95
111
|
|
96
112
|
def writeJSON(self, j, reject):
|
97
|
-
return self.writeMessage(0, bytes(
|
113
|
+
return self.writeMessage(0, bytes(json_dumps_clean(j), 'utf8'), reject)
|
98
114
|
|
99
115
|
def writeBuffer(self, buffer, reject):
|
100
116
|
return self.writeMessage(1, buffer, reject)
|
@@ -128,7 +144,7 @@ class RpcStreamTransport(RpcTransport):
|
|
128
144
|
reject(e)
|
129
145
|
|
130
146
|
def writeJSON(self, j, reject):
|
131
|
-
return self.writeMessage(0, bytes(
|
147
|
+
return self.writeMessage(0, bytes(json_dumps_clean(j), 'utf8'), reject)
|
132
148
|
|
133
149
|
def writeBuffer(self, buffer, reject):
|
134
150
|
return self.writeMessage(1, buffer, reject)
|