The underlying data is put into json documents that expect unicode
strings not byte strings. In python2 lxml provided strings that were
auto coerced but in python3 it provides byte strings.
by making CAPA <input> elements siblings of their <label>s, instead of children.
Also:
* Moves radio submitted status block down below the problem
to match the checkbox problem status blocks.
* Marks submitted choicegroup answers with a class
* Remove old performance tests that we haven't been running.
As far as I can tell, these tests to capture HAR files were created 5
years ago and not being run as a part of our suite? They capture HAR
data that we do nothing with so even if they were running we should
remove them until we're ready to care about consuming this kind of
information.
* Update password test unicode string.
* Add ugettext translation helper function.
* Fix lambda syntax that is not valid in python 3.
* Fix ur raw strings which his not valid in python 3
* Use edx_six.get_gettext instead of ugettext.
* Fix a few other encoding issues.
* Don't use old form of sorted funciton.
This form which uses a 'cmp' method is not available in python 3.
Updated the file as suggested
ran python-modernize and isort on files mentioned in INCR-410
Updated the file as suggested
changes made to comply with quality
ran python-modernize and isort on files mentioned in INCR-410
Updated the file as suggested
changes made to comply with quality
* INCR-245: Make compatible with Python 3.x without breaking Python 2.7 support > common/lib/capa/capa/safe_exec
* INCR-245: Add absolute_import to CODE_PROLOG
This basically commits the transpiled CoffeeScript JS (with minor
cleanup) and removes coffee build support.
A tiny amount of support for xblocks exists, because external users
may have xblocks with coffee. But no coffee in our tree anyway.
The imports were sorted in May, which broke the monkeypatching in
safe_lxml. I added two tests that the XML parsers are properly patched,
but they didn't pass until I added the monkeypatching to the start of
the test runs. Once that was done, some tests failed because they
relied on specific details of how empty elements are represented. Those
tests are now fixed.