zooniverse / aggregation-for-caesar

Apache License 2.0
9 stars 15 forks source link

"panoptes_aggregation config" incorrectly parsing apostrophes in task labels #644

Open mikejcorey opened 2 years ago

mikejcorey commented 2 years ago

When I run panoptes_aggregation config on my workflow export file, the Task_labelsworkflow[blah].yaml file is being generated with incorrectly parsed apostrophes in task labels.

For example:

"T0.answers.3.label":"I can't figure this out. " in the "strings" field in my workflows CSV is being rendered in the Task_labelsworkflow[blah].yaml as T0.answers.3.label: 'I can''t figure this out. '

CKrawczyk commented 2 years ago

I think this is a consequence of using yaml.dump to create the YAML file. After looking into it, the double apostrophe is the YAML standard of single quotes inside a string.

mikejcorey commented 2 years ago

Can you point me to a doc on that? I couldn't find anything yesterday. I am using Python's yaml library and yaml.full_load is not correctly parsing that, if that's the case. (I know that this part is not your job, but if you remember what you found that would be really helpful.)

CKrawczyk commented 2 years ago

I was going off this page I found today (not sure how accurate it is): https://docs.octoprint.org/en/master/configuration/yaml.html

For reference, the line that writes the file is here: https://github.com/zooniverse/aggregation-for-caesar/blob/master/panoptes_aggregation/scripts/config_workflow_panoptes.py#L125

Odd that the built-in YAML package can read in a file that it writes. I will try to do a bit of testing to see if this is a bug on my end or a bug in YAML's end.