Skip to content
Snippets Groups Projects
Commit 3ce1eaaf authored by Markus Scheidgen's avatar Markus Scheidgen
Browse files

JSON encode MSection values for nomad specific optimade properties. #450

parent 55424fde
Branches
Tags
2 merge requests!233v0.9.8 - Merge for release,!232Optimade fixes #450
Pipeline #89633 passed with warnings
...@@ -30,7 +30,7 @@ import numpy as np ...@@ -30,7 +30,7 @@ import numpy as np
from nomad import config, datamodel, files from nomad import config, datamodel, files
from nomad.app.common import RFC3339DateTime from nomad.app.common import RFC3339DateTime
from nomad.normalizing.optimade import optimade_chemical_formula_reduced from nomad.normalizing.optimade import optimade_chemical_formula_reduced
from nomad.metainfo import Datetime, MEnum from nomad.metainfo import Datetime, MEnum, MSection
from nomad.datamodel import EntryMetadata from nomad.datamodel import EntryMetadata
from nomad.datamodel.dft import DFTMetadata from nomad.datamodel.dft import DFTMetadata
from nomad.datamodel.optimade import OptimadeEntry from nomad.datamodel.optimade import OptimadeEntry
...@@ -320,9 +320,14 @@ class EntryDataObject: ...@@ -320,9 +320,14 @@ class EntryDataObject:
try: try:
if request_field.startswith('_nmd_dft_'): if request_field.startswith('_nmd_dft_'):
attrs[request_field] = getattr(calc.dft, request_field[9:]) response_value = getattr(calc.dft, request_field[9:])
else: else:
attrs[request_field] = getattr(calc, request_field[5:]) response_value = getattr(calc, request_field[5:])
if isinstance(response_value, MSection):
response_value = response_value.m_to_dict()
attrs[request_field] = response_value
except AttributeError: except AttributeError:
# if unknown properties where provided, we will ignore them # if unknown properties where provided, we will ignore them
pass pass
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment