Skip to content

Commit d931b1d

Browse files
committed
Pull request #272: adding a fix for file descriptor
Merge in LCL/wolframclientforpython from bugfix/file-descriptor to master * commit '3ca6aab0f6650cd00fa2e75b3a74bfa082de26e5': adding a fix for file descriptor
2 parents e3232d1 + 3ca6aab commit d931b1d

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

wolframclient/serializers/encoder.py

+1
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ def update_dispatch(self):
7575
# builtin libraries
7676
sys="wolframclient.serializers.encoders.builtin.encoder",
7777
decimal="wolframclient.serializers.encoders.decimal.encoder",
78+
io="wolframclient.serializers.encoders.io.encoder",
7879
datetime="wolframclient.serializers.encoders.datetime.encoder",
7980
fractions="wolframclient.serializers.encoders.fractions.encoder",
8081
zoneinfo="wolframclient.serializers.encoders.zoneinfo.encoder",
+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from __future__ import absolute_import, print_function, unicode_literals
2+
3+
import io
4+
5+
from wolframclient.utils.dispatch import Dispatch
6+
7+
encoder = Dispatch()
8+
9+
@encoder.dispatch(io.IOBase.__mro__)
10+
def encode_quantity(serializer, o):
11+
12+
# we need to patch io objects because we automatically attempt to convert classes that are iterable to a list, however it should not be done in this case. To be improved.
13+
14+
if serializer.object_processor:
15+
return serializer.object_processor(serializer, o)
16+
17+
raise NotImplementedError("Cannot serialize object of class %s" % o.__class__)

0 commit comments

Comments
 (0)