-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
panoptes_aggregation reduce
tries to eval
text fields
#34
Comments
Running an instrumented version of I'm not sure what the consequences of this are. It looks like it could be worse if someone happens to write valid Python dictionary syntax in a text field. Some things get translated into strings, which is what they were in the first place. Sometimes a string gets converted into a list, e.g. The most common case seems to be On the whole, it looks like the impact is not too bad. In
This is for the text workflows only -- in phase 1 we also have a couple of dropdowns, where I think that this eval behaviour is actually what we want. and in
That makes totals of: 131/1,231,500 cells for phase 1 (0.01% of transcribed cells) A quick look at the phase 2 cases suggests that, other than Other strings are not successfully eval'd, which sometimes produces the SyntaxWarnings that alerted me to this problem in the first place. Unsuccessful eval results in the original value being retained, which I believe is the behaviour that we want. I have confirmed that all of the SyntaxWarnings are produced by the attempted evals. |
panoptes_aggregation reduce
tries to eval
text strings
panoptes_aggregation reduce
tries to eval
text stringspanoptes_aggregation reduce
tries to eval
text fields
Given that the impact appears to be minimal, I think that this can be closed. However, we may want to draw Zooniverse's attention to it. Update Reported it, they are tracking it here: zooniverse/aggregation-for-caesar#654 |
The reduction step produces warning of these forms:
This appears to be due to text that contains
[
or{
getting eval'd during the reduction process, through this call chain:I guess the intent is to correctly translate text-ified Python data back into data, but this seems not right for pure text fields.
The text was updated successfully, but these errors were encountered: