FAIRmat-NFDI / pynxtools

https://fairmat-nfdi.github.io/pynxtools/
Apache License 2.0
13 stars 8 forks source link

Allow lists of possible values in config file #390

Closed lukaspie closed 4 months ago

lukaspie commented 4 months ago

This allows to write "['@attrs:<text>', '@eln', 'no title']" in the config file, which gets parse into the prefixes as a list of tuples [('@attrs', 'text'), ('@eln', ''), ('', 'no title')]. For each of these, it is checked if a value can be returned (whatever that means for the reader solution) and if so, the value is written. If not, "no title" is written. I think this is much cleaner implementation of having these multiple options than before.

I also changed the parent_key in FlattenSettings to "/ENTRY" to match our previous discussion. Finally, I removed the link handling in the flatten_json as this shall be handled by the link callback. Are there any issues with this?

@domna there were some problems with the handling of ! for the required fields in optional groups while I was implementing this solution. I think it works now, but I didn't have a good example for this, can you check with your example if it still works?