https://github.com/edx/edx-platform/pull/20645
This introduces:
* A new XBlock runtime that can read and write XBlocks that are persisted using
Blockstore instead of Modulestore. The new runtime is currently isolated so
that it can be tested without risk to the current courseware/runtime.
* Content Libraries v2, which store XBlocks in Blockstore not modulestore
* An API Client for Blockstore
* "Learning Context" plugin API. A learning context is a more abstract concept
than a course; it's a collection of XBlocks that serves some learning purpose.
This reverts commit 3d2617983b.
The change was not quite right because the method six provides needs to
have `self` be passed in as well. See the docs here:
https://six.readthedocs.io/#unittest-assertions
Reverting for now and we can fix it in smaller chunks later.
* 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.
* Convert to using ExitStack instead of nested.
nested is not available in Python3.
* Use ExitStack from contextlib2.
ExitStack has not been backported to the Python 2.7 standard library and
contextlib.nested is no longer available in Python 3.5. We need to be
able to use something in both 2 and 3 as we transition so we'll pull in
contextlib2 which has backports of the full python3 contextlib.
Prior to this commit, it was possible for course authoring teams
to import and execute Mako templates using the obscure "customtag"
tag (CustomTagModule). Since Mako templates can run Python code
(e.g. imports, database queries, etc.), this would give a course
team the ability to execute arbitrary, unsandboxed code on the
server.
This commit converts CustomTagModule to use the Python library's
string.Template instead. This should be broadly compatible with
the most basic and common usage of customtag, which is simple
variable substitution in the style of ${var_name}.
The old Notes Django app is the only caller of this no longer
supported library. I have verified that this old app is no
longer functional and is already slated to be removed as part
of DEPR-18.
So this commit simply removes the call to firebase-token-generator
and leaves removal of the Notes app to DEPR-18.
The `DEFAULT_SHOW_RESET_BUTTON` is not actually referenced anywhere
other than in these two places where it's read. As far as I can tell,
nothing sets this value so it's always going to fallback to false.
Since this mixin is imported during startup, removing this unblocks
testing on python3 where it can fail to start up if the settings haven't
fully loaded before you try to access them.