From 24c97256e8538544b5da7ca2782a87137c49c115 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=2E=20Fernando=20S=C3=A1nchez?= Date: Fri, 16 Jun 2017 12:44:25 +0200 Subject: [PATCH] Added serialization of sets --- senpy/models.py | 4 ++-- tests/test_plugins.py | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/senpy/models.py b/senpy/models.py index b47947f..5a8826b 100644 --- a/senpy/models.py +++ b/senpy/models.py @@ -140,7 +140,7 @@ class SenpyMixin(object): vp = item[kp] temp[kp] = ser_or_down(vp) return temp - elif isinstance(item, list): + elif isinstance(item, list) or isinstance(item, set): return list(ser_or_down(i) for i in item) else: return item @@ -184,7 +184,7 @@ class SenpyMixin(object): jsonschema.validate(obj, self.schema) def __str__(self): - return str(self.to_JSON()) + return str(self.serialize()) class BaseModel(SenpyMixin, dict): diff --git a/tests/test_plugins.py b/tests/test_plugins.py index fe8ee1c..31edf06 100644 --- a/tests/test_plugins.py +++ b/tests/test_plugins.py @@ -175,6 +175,7 @@ class PluginsTest(TestCase): "centroids_direction": ["emoml:big6", "emoml:fsre-dimensions"] } c = CentroidConversion(info) + print(c.serialize()) es1 = EmotionSet() e1 = Emotion() @@ -183,6 +184,7 @@ class PluginsTest(TestCase): res = c._forward_conversion(es1) assert res["X-dimension"] == 0.5 assert res["Y-dimension"] == 0.5 + print(res) e2 = Emotion() e2.onyx__hasEmotionCategory = "c2" @@ -190,15 +192,18 @@ class PluginsTest(TestCase): res = c._forward_conversion(es1) assert res["X-dimension"] == 0 assert res["Y-dimension"] == 1 + print(res) e = Emotion() e["X-dimension"] = -0.2 e["Y-dimension"] = -0.3 res = c._backwards_conversion(e) assert res["onyx:hasEmotionCategory"] == "c3" + print(res) e = Emotion() e["X-dimension"] = -0.2 e["Y-dimension"] = 0.3 res = c._backwards_conversion(e) assert res["onyx:hasEmotionCategory"] == "c2" + print(res)