You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems that easyDataverse currently has no support for nested metadata blocks with nesting level > 2 (i.e. a compound field nested within another compound field). An error occurs when trying to connect to a Dataverse with such a block enabled.
Error log:
⠴ Connecting to http://localhost:8080/...
Traceback (most recent call last):
File "/home/clemens/Documents/csh-ui/backend/scripts/update_search_index.py", line 62, in <module>
main()
File "/home/clemens/Documents/csh-ui/backend/scripts/update_search_index.py", line 15, in main
dataverse_api = Dataverse(server_url=DATAVERSE_URL, api_token=DATAVERSE_API_TOKEN)
File "/home/clemens/Documents/csh-ui/backend/.venv/lib/python3.10/site-packages/easyDataverse/dataverse.py", line 67, in __init__
self._connect()
File "/home/clemens/Documents/csh-ui/backend/.venv/lib/python3.10/site-packages/easyDataverse/dataverse.py", line 128, in _connect
asyncio.run(asyncio.gather(*tasks)) # type: ignore
File "/home/clemens/Documents/csh-ui/backend/.venv/lib/python3.10/site-packages/nest_asyncio.py", line 30, in run
return loop.run_until_complete(task)
File "/home/clemens/Documents/csh-ui/backend/.venv/lib/python3.10/site-packages/nest_asyncio.py", line 98, in run_until_complete
return f.result()
File "/usr/lib/python3.10/asyncio/tasks.py", line 232, in __step
result = coro.send(None)
File "/home/clemens/Documents/csh-ui/backend/.venv/lib/python3.10/site-packages/easyDataverse/dataverse.py", line 161, in _process_metadatablock
block_cls = create_dataverse_class(
File "/home/clemens/Documents/csh-ui/backend/.venv/lib/python3.10/site-packages/easyDataverse/classgen.py", line 67, in create_dataverse_class
{
File "/home/clemens/Documents/csh-ui/backend/.venv/lib/python3.10/site-packages/easyDataverse/classgen.py", line 68, in <dictcomp>
process_name(compound["name"], common_part): create_compound(
File "/home/clemens/Documents/csh-ui/backend/.venv/lib/python3.10/site-packages/easyDataverse/classgen.py", line 110, in create_compound
sub_cls = create_dataverse_class(
File "/home/clemens/Documents/csh-ui/backend/.venv/lib/python3.10/site-packages/easyDataverse/classgen.py", line 56, in create_dataverse_class
attributes = {
File "/home/clemens/Documents/csh-ui/backend/.venv/lib/python3.10/site-packages/easyDataverse/classgen.py", line 58, in <dictcomp>
get_field_type(field),
File "/home/clemens/Documents/csh-ui/backend/.venv/lib/python3.10/site-packages/easyDataverse/classgen.py", line 153, in get_field_type
dtype = TYPE_MAPPING[field["type"].lower()]
KeyError: 'none'
I'd be interested in how difficult you think it would be to add support for that, and whether it's planned?
The text was updated successfully, but these errors were encountered:
It seems that easyDataverse currently has no support for nested metadata blocks with nesting level > 2 (i.e. a compound field nested within another compound field). An error occurs when trying to connect to a Dataverse with such a block enabled.
Error log:
I'd be interested in how difficult you think it would be to add support for that, and whether it's planned?
The text was updated successfully, but these errors were encountered: