Plot annotation gives parsing error
Hey Nomad,
the last commit in develop broke my a_plot annotation: I used to do:
a_plot=[
{
'label': 'Intensity',
'x': ['raman_shift', 'peaks_raman'],
'y': ['intensity', 'peaks_intensity'],
'layout': {'yaxis': {'type': 'lin'}},
"lines": [
{
"mode": "lines",
"marker": {
"color": "rgb(40, 80, 130)"
}
},
{
"mode": "markers",
"line": {
"color": "rgb(100, 0, 0)"
}
}
]
}]
It seems that
a_plot=[
{
'label': 'Intensity',
'x': 'raman_shift',
'y': 'intensity',
'layout': {'yaxis': {'type': 'lin'}},
}]
works. So given 'x' and 'y' a list is not possible anymore. When running the setup i get:
Traceback (most recent call last):
File "/home/a2853/miniconda3/envs/nomad/bin/mkdocs", line 8, in <module>
sys.exit(cli())
File "/home/a2853/miniconda3/envs/nomad/lib/python3.7/site-packages/click/core.py", line 1130, in __call__
return self.main(*args, **kwargs)
File "/home/a2853/miniconda3/envs/nomad/lib/python3.7/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "/home/a2853/miniconda3/envs/nomad/lib/python3.7/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/a2853/miniconda3/envs/nomad/lib/python3.7/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/a2853/miniconda3/envs/nomad/lib/python3.7/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/home/a2853/miniconda3/envs/nomad/lib/python3.7/site-packages/mkdocs/__main__.py", line 187, in build_command
build.build(config.load_config(**kwargs), dirty=not clean)
File "/home/a2853/miniconda3/envs/nomad/lib/python3.7/site-packages/mkdocs/commands/build.py", line 257, in build
config = config['plugins'].run_event('config', config)
File "/home/a2853/miniconda3/envs/nomad/lib/python3.7/site-packages/mkdocs/plugins.py", line 102, in run_event
result = method(item, **kwargs)
File "/home/a2853/miniconda3/envs/nomad/lib/python3.7/site-packages/mkdocs_macros/plugin.py", line 515, in on_config
self._load_modules()
File "/home/a2853/miniconda3/envs/nomad/lib/python3.7/site-packages/mkdocs_macros/plugin.py", line 401, in _load_modules
module = import_local_module(self.project_dir, local_module_name)
File "/home/a2853/miniconda3/envs/nomad/lib/python3.7/site-packages/mkdocs_macros/util.py", line 128, in import_local_module
spec.loader.exec_module(module)
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/a2853/Documents/Projects/nomad/nomad-FAIR/nomad/mkdocs.py", line 28, in <module>
from nomad.app.v1.models import (
File "/home/a2853/Documents/Projects/nomad/nomad-FAIR/nomad/app/v1/models.py", line 40, in <module>
from nomad import datamodel, metainfo # pylint: disable=unused-import
File "/home/a2853/Documents/Projects/nomad/nomad-FAIR/nomad/datamodel/__init__.py", line 76, in <module>
from .datamodel import (
File "/home/a2853/Documents/Projects/nomad/nomad-FAIR/nomad/datamodel/datamodel.py", line 31, in <module>
from nomad.datamodel.metainfo.common import FastAccess
File "/home/a2853/Documents/Projects/nomad/nomad-FAIR/nomad/datamodel/metainfo/__init__.py", line 23, in <module>
from .eln.application_hzb.CE_NSLI import m_package as m_package2
File "/home/a2853/Documents/Projects/nomad/nomad-FAIR/nomad/datamodel/metainfo/eln/application_hzb/CE_NSLI/__init__.py", line 194, in <module>
class CE_NSLI_RamanSpectroscopy(Raman, EntryData):
File "/home/a2853/Documents/Projects/nomad/nomad-FAIR/nomad/datamodel/metainfo/eln/application_hzb/CE_NSLI/__init__.py", line 204, in CE_NSLI_RamanSpectroscopy
'layout': {'yaxis': {'type': 'lin'}},
File "/home/a2853/Documents/Projects/nomad/nomad-FAIR/nomad/metainfo/metainfo.py", line 3732, in __init__
super().__init__(*args, **kwargs)
File "/home/a2853/Documents/Projects/nomad/nomad-FAIR/nomad/metainfo/metainfo.py", line 2854, in __init__
super().__init__(*args, **new_kwargs)
File "/home/a2853/Documents/Projects/nomad/nomad-FAIR/nomad/metainfo/metainfo.py", line 1094, in __init__
self.m_parse_annotations()
File "/home/a2853/Documents/Projects/nomad/nomad-FAIR/nomad/metainfo/metainfo.py", line 1354, in m_parse_annotations
raise e
File "/home/a2853/Documents/Projects/nomad/nomad-FAIR/nomad/metainfo/metainfo.py", line 1346, in m_parse_annotations
annotation[index] = to_model(annotation_model, item)
File "/home/a2853/Documents/Projects/nomad/nomad-FAIR/nomad/metainfo/metainfo.py", line 1338, in to_model
annotation = parse_obj_as(annotation_model, annotation_data)
File "pydantic/tools.py", line 38, in pydantic.tools.parse_obj_as
File "pydantic/main.py", line 341, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 1 validation error for ParsingModel[PlotAnnotation]
__root__ -> x
str type expected (type=type_error.str)
Best Micha