From 93be74877f76b4e38dcbc1fe0077af0365e10bac Mon Sep 17 00:00:00 2001 From: jmmshn Date: Thu, 4 Feb 2021 11:55:43 -0500 Subject: [PATCH] jsantize --- .../emmet/builders/materials/electrodes.py | 15 ++------------- emmet-core/emmet/core/electrode.py | 4 ++++ tests/emmet-core/test_electrodes.py | 1 + 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/emmet-builders/emmet/builders/materials/electrodes.py b/emmet-builders/emmet/builders/materials/electrodes.py index dca37bb8fb..3f377adaa4 100644 --- a/emmet-builders/emmet/builders/materials/electrodes.py +++ b/emmet-builders/emmet/builders/materials/electrodes.py @@ -11,6 +11,7 @@ from emmet.core.structure_group import StructureGroupDoc from maggma.builders import Builder, MapBuilder from maggma.stores import MongoStore +from monty.json import MontyEncoder from numpy import unique from pymatgen import Composition from pymatgen.analysis.structure_matcher import StructureMatcher, ElementComparator @@ -402,17 +403,5 @@ def unary_function(self, item): ) if ie is None: return {"failed_reason": "unable to create InsertionElectrode document"} + return ie.dict() - # failed = False - # try: - # ie = InsertionElectrode.from_entries(entries, working_ion_entry) - # except Exception: - # failed = True - # - # if failed or ie.num_steps < 1: - # res = {"task_id": item["task_id"], "has_step": False} - # else: - # res = {"task_id": item["task_id"], "has_step": True} - # res.update(ie.get_summary_dict()) - # res["InsertionElectrode"] = ie.as_dict() - # return res diff --git a/emmet-core/emmet/core/electrode.py b/emmet-core/emmet/core/electrode.py index 5c6eddb25b..f7e6959714 100644 --- a/emmet-core/emmet/core/electrode.py +++ b/emmet-core/emmet/core/electrode.py @@ -9,6 +9,7 @@ from pymatgen.core.periodic_table import Element from pymatgen.entries.computed_entries import ComputedEntry +from emmet.core.utils import jsanitize from emmet.stubs import Composition, Structure @@ -57,6 +58,9 @@ def from_sub_electrode(cls, sub_electrode: AbstractElectrode, **kwargs): """ return cls(**sub_electrode.get_summary_dict(), **kwargs) + def dict(self, *args, **kwargs): + return jsanitize(super().dict(*args, **kwargs)) + class InsertionVoltagePairDoc(VoltagePairDoc): """ diff --git a/tests/emmet-core/test_electrodes.py b/tests/emmet-core/test_electrodes.py index 675224c2de..748df7d451 100644 --- a/tests/emmet-core/test_electrodes.py +++ b/tests/emmet-core/test_electrodes.py @@ -73,6 +73,7 @@ def test_InsertionDocs(insertion_elec): for sub_elec in elec.get_sub_electrodes(adjacent_only=True): vp = InsertionVoltagePairDoc.from_sub_electrode(sub_electrode=sub_elec) assert vp.average_voltage == sub_elec.get_average_voltage() + assert type(ie.dict()["host_structure"]) == dict def test_ConversionDocs_from_entries(conversion_elec):