Skip to content

Commit 9f1d6bd

Browse files
committed
fixed file dump and load which not works
1 parent 759ca74 commit 9f1d6bd

File tree

3 files changed

+41
-3
lines changed

3 files changed

+41
-3
lines changed

cw_msgpack_coder/umsgpack_coder.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,15 +149,15 @@ def _ext_load(self):
149149

150150
def dump(self, obj, f):
151151
""" Dump object to file stream. """
152-
umsgpack.pack(obj, f, ext_handlers=self._ext_dump())
152+
return umsgpack.pack(obj, f, ext_handlers=self._ext_dump())
153153

154154
def dumps(self, obj):
155155
""" Dump object to bytes array. """
156156
return umsgpack.packb(obj, ext_handlers=self._ext_dump())
157157

158158
def load(self, f):
159159
""" Load object from file stream. """
160-
umsgpack.unpack(f, ext_handlers=self._ext_load())
160+
return umsgpack.unpack(f, ext_handlers=self._ext_load())
161161

162162
def loads(self, b):
163163
""" Load object from bytes array. """

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def long_description():
99

1010

1111
setup(name='cw_msgpack_coder',
12-
version='1.1.2',
12+
version='1.1.3',
1313
description='Simple and fast Python any object serialization with use msgpack.',
1414
long_description=long_description(),
1515
author='Cezary K. Wagner',

tests/test_umsgpack_coder.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import unittest
2+
import io
23

34
from cw_msgpack_coder.umsgpack_coder import UmsgpackCoder
45

@@ -20,6 +21,13 @@ def test_encode_empty_class(self):
2021
o2 = coder.loads(s)
2122
self.assertEqual(o, o2)
2223

24+
stream = io.BytesIO()
25+
coder.dump(o, stream)
26+
stream.seek(0)
27+
o2 = coder.load(stream)
28+
self.assertEqual(o, o2)
29+
30+
2331
class DictClass:
2432
def __init__(self, a):
2533
self.a = a
@@ -40,6 +48,12 @@ def test_encode_dict_class(self):
4048
o2 = coder.loads(s)
4149
self.assertEqual(o, o2)
4250

51+
stream = io.BytesIO()
52+
coder.dump(o, stream)
53+
stream.seek(0)
54+
o2 = coder.load(stream)
55+
self.assertEqual(o, o2)
56+
4357
class SlotClass:
4458
__slots__ = 'ab'
4559

@@ -60,6 +74,12 @@ def test_encode_single_slot_class(self):
6074
o2 = coder.loads(s)
6175
self.assertEqual(o, o2)
6276

77+
stream = io.BytesIO()
78+
coder.dump(o, stream)
79+
stream.seek(0)
80+
o2 = coder.load(stream)
81+
self.assertEqual(o, o2)
82+
6383
class MultiSlotClass:
6484
__slots__ = 'a', 'b'
6585

@@ -82,6 +102,12 @@ def test_encode_multi_slot_class(self):
82102
o2 = coder.loads(s)
83103
self.assertEqual(o, o2)
84104

105+
stream = io.BytesIO()
106+
coder.dump(o, stream)
107+
stream.seek(0)
108+
o2 = coder.load(stream)
109+
self.assertEqual(o, o2)
110+
85111
class FirstComponentClass:
86112
def __init__(self, a):
87113
self.a = a
@@ -126,6 +152,12 @@ def test_encode_compound_class(self):
126152
o2 = coder.loads(s)
127153
self.assertEqual(o, o2)
128154

155+
stream = io.BytesIO()
156+
coder.dump(o, stream)
157+
stream.seek(0)
158+
o2 = coder.load(stream)
159+
self.assertEqual(o, o2)
160+
129161
def test_encode_compound_of_compound_class(self):
130162
coder = UmsgpackCoder()
131163
coder.set_default_coder_for_class(self.CompoundClass)
@@ -138,3 +170,9 @@ def test_encode_compound_of_compound_class(self):
138170
o2 = coder.loads(s)
139171
self.assertEqual(o, o2)
140172

173+
stream = io.BytesIO()
174+
coder.dump(o, stream)
175+
stream.seek(0)
176+
o2 = coder.load(stream)
177+
self.assertEqual(o, o2)
178+

0 commit comments

Comments
 (0)