def _serialize_obj(self, obj): import json_tricks if callable(obj): return obj.__name__ if hasattr(obj, '__name__') else '__nameless__' if isinstance(obj, dict): return self._serialize_kwargs(obj) if (isinstance(obj, Sequence) and not isinstance(obj, basestring)): return self._serialize_args(obj) if isinstance(obj, DataMatrix): return cnv.to_json(obj) return json_tricks.dumps(obj)
def test_convert(): refdm = DataMatrix(length=3) refdm[u'tést'] = 1, 2, u'' refdm.B = u'mathôt', u'b', u'x' refdm.C = u'a,\\b"\'c', 8, u'' testdm = io.readtxt('testcases/data/data.csv') check_dm(refdm, testdm) testdm = cnv.from_json(cnv.to_json(testdm)) check_dm(refdm, testdm) testdf = cnv.to_pandas(testdm) testdm = cnv.from_pandas(testdf) check_dm(refdm, testdm) print(np.array(testdf)) print(np.array(testdm)) assert (np.array(testdf, dtype=str) == np.array(testdm, dtype=str)).all()
def __hash__(self): from datamatrix import convert as cnv return hash(cnv.to_json(self))