EDUCATOR-1335 - This Adds a dedicated app which is responsible for communication with edx-video-pipeline service. It also adds the backend for saving 3rd party transcription service credentials on edx-video-pipline and cache it in edx-val.
On many buckets, we use s3://bucket/path to separate environments
because AWS used to have a really low limit on the number of buckets
we could have, and we wanted to share them across environments.
If you combine this with an IAM policy that only allows you access
to the s3://bucket/path that you "own", then get_bucket fails.
http://boto.cloudhackers.com/en/stable/ref/s3.html#boto.s3.connection.S3Connection.get_bucket
The HEAD appears to be similar to get_all_keys which requires
ListObjects on the bucket with no conditions.
django-storages (Which is what we write new S3 access in) actually
always passes validate=False unless you're allowing it to create buckets
for you (which we never do).
https://github.com/jschneier/django-storages/blob/1.4.1/storages/backends/s3boto.py#L320-L334
This adds ability to refresh the list of uploaded videos without refreshing the whole page.
Added a refresh button that when clicked:
- fetches a fresh list of uploaded files from the server
- updates `PreviousVideoUploadListView`
- removes the successfully completed uploads from `ActiveVideoUploadListView`
- retains the ongoing or failed uploads in `ActiveVideoUploadListView` so that they can be monitored/retried
The view can also be refreshed without user action, but I felt it may be less surprising to have a button instead.
MA-333 update: auto-refresh list, fix test failure
Changes:
1. Refresh of file list triggered by upload completion. Refresh button retained and label changed to "Refresh List".
2. Added `aria-live="polite"` to `.active-video-upload-list` and `.assets-table`.
3. Removed unused parameter `evt`.
4. Added self to the `AUTHORS` file.
MA-333 update: added tests
MA-333 update: removed refresh button
MA-333 update: address review comments of @mushtaqak
MA-333 update: simplify nested `_each`
MA-333 update: rename viewRefresh to isViewRefresh
MA-333 update: doc string for `clearSuccesful`
MA-333 update: fix accessibility
MA-333 update: update only successfully uploaded videos
MA-333 update: use window.SR feature to notify screen readers that video upload was successful (@pomegranited)
As some i18n features need ```ugettext``` or its shorcut ```_``` to be called on a non-string-literal, so the pylint check of ```translation-of-non-string``` should be explicitly disabled in such situations.
Imported VAL videos get the value "imported" for their status. We
considered not including imported videos on the upload page but have
instead decided to include them, so it is necessary to have a display
string for the imported status value.
Fix i18n for video status strings (broken in commit 4b53f4d) and remove
unnecessary complexity from a test case. This also removes the status
whitelist in the video upload configuration. Because status is included
in the CSV report, it is not necessary to filter the included videos by
status.
This feature allows upload of video assets to S3. This requires that the
VIDEO_UPLOAD_PIPELINE setting be properly configured and that each
course be configured with a token issued by the media team for their
processing purposes (e.g. linking the video with a YouTube channel).
Co-authored-by: Greg Price <gprice@edx.org>