* remove ENABLE_VIDEO_URL_REWRITE
The temporary waffle flag ENABLE_VIDEO_URL_REWRITE is no
longer needed, becaues the rollout is complete.
See https://openedx.atlassian.net/browse/PROD-62
ARCHBOM-1304
* fix quality
- Have it load dates from edx-when, not just write to it. This
fixes self-paced courses where edx-when is only place dates are
kept.
- Have it read original date for a homework from edx-when when
resetting a date. This fixes the message it gives the instructor
about whether it was successfully reset.
- Have it recursively set a date, rather than assuming that dates
are only ever set on the subsection layer. This fixes setting
dates on self-paced courses (where dates are set all the way
down) and just in case somebody somewhere edits the course xml
to have a date where it's not expected.
Updating edx-when version to pull in a change related to not
returning dates if the enrollment happened after course end
(if no enrollment end date is set)
Fixing 56 GuessedAtParserWarnings, in commit edx#24098
Background: BeautifulSoup automatically picks the fastest parser available. By default, it picks the "lxml" parser.
Per the [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser) documentation:
> Beautiful Soup supports the HTML parser included in Python’s standard library, but it also supports a number of third-party Python parsers. One is the lxml parser. Depending on your setup, you might install lxml with one of these commands.
> Another alternative is the pure-Python html5lib parser, which parses HTML the way a web browser does.
Context: We changed two statements, one in lms and another in openedx. Both statements fire up BeautifulSoup. Now we explicitly ask for "lxml," following the recommendation on BeautifulSoup's documentation:
> If you can, I recommend you install and use lxml for speed. If you’re using a very old version of Python – earlier than 2.7.3 or 3.2.2 – it’s essential that you install lxml or html5lib. Python’s built-in HTML parser is just not very good in those old versions.
Before:
`soup = BeautifulSoup(content)`
After:
`soup = BeautifulSoup(markup=content, features="lxml")`
The warnings are gone, tests are passing in local.
* Hide private team-sets from users not on a team
* Modify add team count to factor in team visibility
* Fix bug that broke search w/in private team-sets
- Add a new CourseEnrollmentCelebration model, which ties a
course enrollment to some booleans about progress celebrations
- Add serialization of the new model to the existing courseware_api
app's existing course info view
- Add new API in courseware_api to update a celebration model
- yt_video_metadata returned a generic non-json-api-friendly 500 error
when called on a non-youtube video
- load_metadata_from_youtube was crashing when called from the xblock
yt_video_metadata endpoint. It passes a webob request, which has a
different api for retrieving the http referer.
In an earlier PR, we moved logic from process_view to process
request, so mapping would happen earlier in the middleware
lifecycle, and the code_owner metric would be set for requests
that never made it to process_view.
The temp_view_func_compare custom metric was added temporarily to
ensure this earlier refactor did not introduce any unaccounted for
differences. It did not, so we are removing this temporary metric.
ARCHBOM-1263